目录
一、import 相关术语
1. module:模块。
如 ".py"、".pyo"、".pyc"、".pyd"、".so"、".dll",等都可以作为一个模块,而”.py" 文件作为模块更为常见。
2. package:
可以是一个目录,如 “./a/b” 可以写为: package = "a.b" 。
3. “__init__.py” :
当一个目录下存在"__init__.py"文件时,可以当成一个模块(module)或者包(package)。
"__init__.py" 可以是一个空文件,也可以有其他内容, 如“from .base import GetMDL, SetVal” 等。
二、 __all__ 属性
当使用"from module import *" 导入时,如果“module.py” 使用了 "__all__", 则只能导入“__all__”列出的项(函数等)
# module_2.py
__all__ = ['f1']
def f1():
print("This is f1 in module_2.py")
def f2():
print("This is f2 in module_2.py")
# main.py
from module_2 import *
f1()
f2()
# 输出为:
Th

本文详细介绍了Python中的import机制,包括模块(module)、包(package)和`__init__.py`的作用。讨论了`__all__`属性在`from module import *`中的作用,并探讨了import相关的函数如importlib.import_module()和内置的`__import__()`函数的用法。同时,提到了与import配合使用的getattr()和setattr()函数。

839

被折叠的 条评论
为什么被折叠?



