Maison > développement back-end > Tutoriel Python > Est-ce que 'import *' importe __init__.py en Python ?

Est-ce que 'import *' importe __init__.py en Python ?

Linda Hamilton
Libérer: 2024-12-10 08:10:10
original
1035 Les gens l'ont consulté

Does

Qu'est-ce que "import *" est importé en Python et quel est son rapport avec __init__.py ?

En Python, le "import *" " L'instruction importe tous les symboles non privés (c'est-à-dire ne commençant pas par un trait de soulignement) d'un module spécifié dans le module actuel. Cela permet un accès direct aux symboles importés sans utiliser le préfixe du nom du module.

Est-ce que "import *" importe __init__.py ?

Non, "import *" L'instruction n'importe pas automatiquement le fichier __init__.py trouvé dans le dossier contenant. __init__.py est un fichier spécial que Python utilise pour initialiser un module lors de son importation. Pour importer explicitement __init__.py, vous devez utiliser l'instruction "import" avec le nom du module comme suit :

from project.model import __init__
Copier après la connexion

Avantages et inconvénients de "import *":

Le principal avantage de "importer *" est la commodité d'importer tous les symboles en même temps. Cependant, cette pratique est généralement déconseillée en raison de :

  • Collisions d'espaces de noms : Les symboles importés peuvent entrer en conflit avec les symboles existants dans le module actuel.
  • Inefficacité :L'importation d'un grand nombre de symboles peut ralentir le programme.
  • Manque de symboles explicites documentation : Il peut être difficile de suivre l'origine des symboles importés lors de l'utilisation de "*".

Pratiques préférées :

Au lieu de "importer *", il est recommandé d'importer uniquement les symboles spécifiques dont vous avez besoin. Cela peut être fait en utilisant soit :

  • Importation explicite :

    from math import pi
    Copier après la connexion
  • Module aliasing :

    import math as m
    Copier après la connexion

Sous-modules et "import *":

Lorsqu'un module contient des sous-modules, "import *" fait n'importez pas ces sous-modules à moins qu'ils ne soient explicitement inclus dans l'attribut all du fichier principal module.

Conclusion :

Bien que "import *" puisse être pratique, il est généralement déconseillé en faveur d'importations explicites ou d'alias de module. __init__.py est un fichier spécial utilisé pour initialiser un module, et il doit être importé séparément à l'aide de l'instruction "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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal