web-dev-qa-db-fra.com

Module vs package?

Chaque fois que je fais from 'x' import 'y' Je me demandais lequel est considéré comme le 'module' et lequel est le 'package', et pourquoi ce n'est pas l'inverse?

149
Dark Templar

Un module Python est simplement un fichier source Python, qui peut exposer des classes, des fonctions et des variables globales).

Lorsqu'il est importé à partir d'un autre fichier source Python, le nom du fichier est traité comme un espace de noms.

Un package Python est simplement un répertoire de modules Python).

Par exemple, imaginez l'arborescence de répertoires suivante dans /usr/lib/python/site-packages:

mypackage/__init__.py <-- this is what tells Python to treat this directory as a package
mypackage/mymodule.py

Alors vous feriez:

import mypackage.mymodule

ou

from mypackage.mymodule import myclass
200
Yam Marcovic