Maison > Article > développement back-end > Comment fonctionne réellement « import * » en Python ?
Qu'est-ce que "import *" importe ?
En Python, "import *" importe tout du module spécifié dans le module actuel. Cela permet un accès direct aux objets importés sans les préfixer avec le nom du module.
Par exemple :
>>> from math import * >>> pi 3.141592653589793 >>> sin(pi/2) 1.0
Pris dans le Web des collisions de noms
Cependant, importer "tout" avec "*" n'est pas recommandé car cela peut créer des collisions d'espace de noms avec des variables ou des fonctions existantes. De plus, cela peut s'avérer inefficace si un nombre important d'objets est importé.
Importation explicite ou importation avec "*"
Il est préférable d'importer explicitement uniquement les objets objets nécessaires :
>>> from math import pi >>> pi 3.141592653589793 >>> sin(pi/2) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'sin' is not defined
Alternativement, le module peut être importé sous son propre espace de noms ou alias :
>>> import math >>> math.pi 3.141592653589793 >>> import math as m >>> m.pi 3.141592653589793
Exceptions au "* Import"
Dans certains cas, il peut être opportun de tout importer avec "". Par exemple, certaines bibliothèques fournissent des sous-modules spécialement conçus pour être importés avec "" et contiennent des constantes et des fonctions couramment utilisées.
Plongez dans le mécanisme "* Importer"
Avec "import *", les objets suivants sont importés :
Subtilité des sous-modules
Contrairement à la perception commune, "from xyz import " fait pas importer des sous-modules. Les sous-modules doivent être explicitement importés séparément, par ex. "depuis urllib.request import ".
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!