Les packages et les modules correspondent à la relation entre les fichiers et les répertoires. Un package peut contenir plusieurs modules, tandis qu'un module pointe vers un seul fichier. Les programmes peuvent être structurés fichier par fichier.
Il existe de nombreux packages externes dans Python
en plus des packages standard. Ce package externe est importé et utilisé.
def printmsg():
print('Hello, World')
En utilisant l'instruction ʻimport`, le fichier ci-dessus peut être lu comme un module.
import file_test1
file_test1.printmsg()
Lorsqu'une variable globale est définie dans un module, la variable dans le module n'est pas réécrite même si une variable de même nom est définie dans la destination de l'importation. Autrement dit, les variables définies dans le module sont valides pour chaque module.
msg = 'Hello, World'
def printmsg:
print(msg)
Le fichier ci-dessus définit la variable globale msg
.
import file_test2
msg = 'Goodbye, Python'
file_test2.printmsg()
Résultat d'exécution
Hello, World
La destination d'importation définit également la variable «msg», mais elle se distingue de la variable «msg» dans le module.
Les fichiers utilisés comme modules peuvent également être écrits comme un seul programme Python, de sorte que chacun peut être exécuté individuellement.
Lors de l'exécution individuelle d'un programme Python, __main__
est affecté à la variable __name__
, de sorte que le code de test peut être écrit comme suit.
def printmsg:
print('Hello, World')
if __name__ == '__main__':
print('test')
Pour empaqueter le répertoire, vous devez créer un fichier nommé «__init __. Py». Dans «__init __. Py», décrivez les noms des modules inclus dans la variable «all» sous forme de liste.
Par exemple, si vous souhaitez inclure des modules nommés test3.py
et test4.py
dans le même répertoire que __init __. Py
dans un package, __init __. Py
s'écrit comme suit: ..
__all__ = ['test3.py', 'test4.py']
Si vous souhaitez lister les éléments inclus dans le package, vous pouvez utiliser la fonction dir ()
. Importez le package et spécifiez le nom du package comme argument.
Recommended Posts