Sac
Package, en fait, dans certains des exemples ci-dessus, différents noms de package ont été créés. Vous pouvez observer attentivement les détails. Comme mentionné dans l'introduction des modules au début, l'utilisation de modules peut éviter les conflits entre les noms de fonctions et les noms de variables. Les fonctions et variables portant le même nom peuvent exister dans différents modules. Par conséquent, lorsque nous écrivons le module nous-mêmes, nous n'avons pas à considérer que le nom entrera en conflit avec d'autres modules. Mais veillez à ne pas entrer en conflit avec les noms de fonctions intégrées. Mais il y a aussi un problème ici : que se passe-t-il si les noms de modules écrits par différentes personnes sont les mêmes ? Afin d'éviter les conflits de noms de modules, Python a introduit une méthode d'organisation des modules par répertoire, appelée package.
Par exemple, dans l'exemple initial, les packages sont introduits. De cette façon, même s'il y a les mêmes noms de modules, il n'y aura pas de duplication, car différents noms de packages signifient en réalité des chemins différents. Comme le montre la figure ci-dessous, une fois le nom du package introduit, lname.py devient en fait com.Learn.module.nameattributes.lname
Ceux qui observent attentivement découvriront essentiellement qu'il y a un __init__ sous chaque répertoire de package. fichier py, pourquoi ?
Parce que ce fichier est obligatoire, sinon, Python traitera ce répertoire comme un répertoire ordinaire, pas comme un package. __init__.py peut être un fichier vide ou contenir du code Python, car __init__.py lui-même est un module et son nom de module correspondant est le nom de son package.