(一)模块是什么 — What
一个模块就是包含一组功能的Python文件,比如 module.py,模块名就是module
具体来讲有下面四种形式:(1)使用python编写的py文件
(2)已被编译为共享库或者DLL的C或C++扩展
(3)把一系列模块组织到一起的文件夹,
其中有一个
init
.py,文件夹称之为包
(4)使用c编写并链接到python解释器的内置模块
Question : 模块、包、库的区别?
> 模块 module
– 单个的py文件,文件名就是模块名
– py文件中定义了有 全局变量、类、方法等,可通过 模块名.xxx 进行调用
– 模块名.__name__ –> 当module被import时,可以通过 __name__调用模块名
– 举例:
import sys
print(sys.__name__) # sys> 包 package
– 包是一个有层次的文件目录结构,体现了模块的结构化管理思想
– 构成:子包、模块文件、__init__.py (包的标志性文件)
– __init__.py文件中写入包被调用时,子包或模块被导入的初始化代码
–
from PyInstaller.utils.git import get_repo_revision
# 从PyInstaller包中的子包 utils调用git模块文件下的get_repo_revision方法> 库 library
– python的一个项目
(二) 为什么使用它 — Why
(1)对于大型项目,代码量较多,模块化管理方便团队作战;
(2)方便后期维护,提高代码复用率;
(3)拿来主义,避免重复造轮子;
(三)如何使用它 — How
# 代码中导入库文件的方法
(1)import xxx # 导入模块
(2)import aaa, bbb, ccc # 导入多个模块,不推荐
(3)from xxx import xxx # 从模块中导入需要的对象/方法
(4)from xxx import * # 导入模块中的开头不是 ‘_’ 的对象,不推荐
(5)from aaa import b as c # 起别名
(6)from aaa import bb, cc, dd # 比较推荐注意:代码可以放在任意位置,但是为了书写规范,通常在开头位置
# 自定义模块(参考下面链接)
命名规范:名称小写,禁止中文、特殊字符等; 不可与内置模块起冲突d