所有特殊变量
模块可以有一个名为 __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