Maison >développement back-end >Tutoriel Python >Qu'est-ce que l'instruction `import *` importe réellement en Python ?

Qu'est-ce que l'instruction `import *` importe réellement en Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-16 06:33:03658parcourir

What Does the `import *` Statement Actually Import in Python?

Ce que l'instruction Import * importe

En Python, l'instruction import * importe tous les objets du module spécifié dans le module actuel. Cela permet d'utiliser les symboles exportés (variables, classes, méthodes, etc.) du module importé sans les préfixer du nom du module.

Exemple :

>>> from math import *
>>> pi
3.141592653589793
>>> sin(pi/2)
1.0

Comparaison avec les importations explicites :

Cependant, l'utilisation de l'importation * est généralement déconseillée en raison de :

  • Collisions d'espaces de noms : Objets importés peut remplacer les symboles existants dans le module actuel.
  • Inefficacité : L'importation de nombreux objets peut ralentir le programme.
  • Manque de documentation : Ce n'est pas le cas 'ne documente pas explicitement l'origine des objets importés.

Au lieu de cela, il est préférable de :

  • Importer des objets spécifiques uniquement : Utiliser à partir de l'importation du module objet pour importer uniquement les objets requis.
  • Importez le module avec son espace de noms : Utilisez le module d'importation comme alias pour accéder aux objets importés via le nom ou l'alias du module.

Exceptions :

Certaines bibliothèques peuvent avoir des sous-modules spécialisés conçus pour être importés avec import*. Par exemple, le sous-module pygame.locals de la bibliothèque Pygame contient des constantes et des fonctions couramment utilisées.

Importation à partir de sous-modules :

L'importation à partir de sous-modules nécessite des spécification, même lors de l'utilisation de import * dans le sous-module. Par exemple, from urllib import * n'importe pas tous les sous-modules comme urllib.request.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn