共计 737 个字符,预计需要花费 2 分钟才能阅读完成。
工程结构
在 Python 中,最顶级的叫做包,包 → 模块 → 类 → 方法、变量。
- 模块(module),一个 py 文件,模块名就是文件名
- 包(package),含有多个 py 文件的文件夹,只有包含了
__init__.py
模块的文件夹才能成为包
包中的 __init__.py
文件默认内容为空,一般用于描述当前包的信息(在导入包下面的模块时,会自动加载)。
导入
导入,其实就是将模块或包加载到内存中,以后再去内存中拿就行。在 Python 内部默认设置了一些路径,导入模块或包时,都会按照指定顺序逐一去特定的路径查找。
如果想要导入任意的模块或包,可以手动在 sys.path 中添加指定路径,然后再导入,例如:
import sys
sys.path.append(" 指定路径 ")
import xxx # 导入指定路径下的一个 xxx.py 文件
all 列表
如果一个模块文件中有__all__变量,当使用 from xxx import * 导入时,只能导入这个列表中的元
素。
使用 from 包名 import *
必须在__init__.py 文件中添加__all__ = []
,控制允许导入的模块列表。
主文件
执行一个 py 文件时:__name__ == "__main__"
;导入一个 py 文件时:__name__ == " 模块名 "
。__name__
有 2 个作用:
- 作为这个模块的入口,类似其他语言中的 main 函数
- 作为调试使用
搜索顺序
导入模块时,先搜索当前目录指定模块名的文件,如果有就直接导入;如果没有,再搜索系统目录。
模块一般都有一个内置属性__file__,可查看模块的完整路径。
__init__.py
要在外界使用包中的模块,需在__init__.py 中指定对外界提供的模块列表:
# 从当前目录导入模块列表
from . import 模块名
from . import 模块名
正文完