模块
模块
模块的定义:模块就是一个 py 文件。
模块主要分为三类:
- 内置模块,也称 Python 标准库,是 Python 官方已经封装在 Python 解释器中了,大约有 200 多个;
- 第三方模块,是一些组织或个人写好的 py 文件,供我们使用;
- 自定义模块,也就是我们自己写的 py 文件。
为什么要学习模块:
- 开发效率高;
- 拿来主义:同内置函数一样,我们只需要把模块拿来用就好,不必深究它的原理;
- 减少重复代码:分文件管理,有助于修改和维护。
怎么使用模块:
import 导入 将模块中所有内容导入
import lib
lib.a # import使用功能需要.操作
from 模块名 import 功能
from 同一个模块 import a,b,c
from lib import a as aa
导入时发生的事情
- 将模块存储到当前名称空间中;
- 以模块的名字命名,并开辟空间;
- 通过模块名来使用模块中的功能。
同一个模块即便写多次导入, 也只执行一次。
导入顺序:
内存 --> 内置 --> sys.path
列表
模块的两种用法:
- 当做普通模块执行
- 被当做脚本执行
if __name__ == "__main__":
pass
在当前文件中执行,__name__
获取的值是 '__main__'
;
当前文件被当做模块导入时,__name__
获取的是当前文件名。
以后要避免(不能这么写)的问题:
- 循环导入(了解)
import 和 from 的对比:
- import 全部导入
- from 指定功能导入
- import 和 from 都可以支持 as
- from 会将之前定义同名的覆盖
- from 可以一行导入多个功能
from lib import *
将lib下所有的功能全部导入- import 建议一行导入一个模块
- 推荐是使用 from
模块导入的顺序:
- 内存,内置,
sys.path
sys.path # *****
sys.path.append() # 添加一个模块查找路径
__all__=['name','read1'] # 控制form import *