所有特殊變數
模組可以有一個名為 __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