[Python] -进阶理解5- Python 模块与包的导入机制解析
1. 模块和包的概念
-
模块(Module):任意
.py
文件,例如mymodule.py
,定义了函数、类、变量等,是 Python 最基本的组织单元。# mymodule.py def greet(name):return f"Hello, {name}!"
-
包(Package):包含
__init__.py
文件的目录,或者不含__init__.py
的“命名空间包”。它是模块的容器,支持子模块和子包。
包结构示例:mypkg/__init__.pymod1.pysubpkg/__init__.pymod2.py
2. import
的基本流程
-
检查缓存:查看
sys.modules
中是否已有该模块,若存在则直接返回。 -
查找模块:通过
sys