Lors de l'écriture d'un projet volumineux, il est inévitable d'effectuer une certaine encapsulation. Généralement, l'encapsulation des fonctions et l'encapsulation des classes peuvent être effectuées, mais s'il y a trop de modules d'encapsulation, il sera plus pratique d'encapsuler la bibliothèque d'utilitaires.
- Créez d'abord un dossier, le nom peut être choisi par vous-même, nous l'utilisons pour encapsuler une bibliothèque, puis nous pouvons mettre des fichiers py de module de package écrits par nous-mêmes dans ce dossier, la structure du répertoire est la suivante
- Mais pour que le système python réalise qu'il s'agit d'un package, il est nécessaire de créer un tel fichier py dans le dossier——fichier __init__.py, et chaque nom de package d'importation équivaut à appeler le fichier __init__.py, qui est tout à fait de l'exécuter.
Parlons d'un autre formulaire d'importation sujet aux erreurs
Par exemple, my_module est un package de dossier que nous avons créé, text1 est un module de fichier py empaqueté, hello est une fonction dans le fichier text1.py. Si nous voulons importer la méthode dans le module de la manière suivante, une erreur se produira
import my_module
my_module.test1.hello()
#AttributeError: module 'my_module' has no attribute 'test1'
Solution : importez tous les modules du package dans le fichier __init__.py
from temp import text1
from temp import text2
De cette façon, il ne sera pas difficile de l'appeler comme avant.
import my_module
my_module.test1.hello()
succès ~