所有特殊變數

模組可以有一個名為 __all__ 的特殊變數來限制使用 from mymodule import *時匯入的變數。

給出以下模組:

# mymodule.py

__all__ = ['imported_by_star']

imported_by_star = 42
not_imported_by_star = 21

使用 from mymodule import *時只匯入 imported_by_star

>>> 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

但是,not_imported_by_star 可以明確匯入:

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