Python Language La variable spéciale __all__


Exemple

Les modules peuvent avoir une variable spéciale nommée __all__ pour restreindre les variables importées lors de l'utilisation from mymodule import * .

Vu le module suivant:

# mymodule.py

__all__ = ['imported_by_star']

imported_by_star = 42
not_imported_by_star = 21

Seul imported_by_star est importé lors de l'utilisation from mymodule import * :

>>> from mymodule import *
>>> imported_by_star
42
>>> not_imported_by_star
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'not_imported_by_star' is not defined

Cependant, not_imported_by_star peut être importé explicitement:

>>> from mymodule import not_imported_by_star
>>> not_imported_by_star
21