模块:提高可维护性,可重复利用,避免函数名和变量名冲突
1.内置模块
import builtins
print(dir(builtins))
2.第三方库
安装pip install 库名
3.自定义模块
模块的使用:
import 模块名
步骤:1.创建模块(文件)
2.导入模块
3.使用模块内容时------模块名.
模块取别名: as别名
应用场景:模块名比较长时,可以取别名
导入多个模块
from 模块名 import 函数名(或属性)
from 模块名 import * 导入模块全部的函数
from import 与 import的区别: import可以看到模块的从属关系
import random
print(random.randint(1,5)) #randint(1,5)取1-5的随机整数
from random import randint
print(randint(1,5))
py文件的两种功能
1.脚本方式:一个文件就是整个程序,直接运行
__name__ == '__main__' # 表示代码实在当前文件里直接运行
2.模块:作为模块导入其他文件执行
作为模块导入时:__name__ == 模块名(没有后缀)
包:
文件夹/目录,用于对不同模块进行分类管理,方便维护,但与普通文件夹的区别:多了一个_init_.py
当包作为模块导入时,包目录下会生成一个_pycache_文件夹
__init__.py文件并不是拥有来定义程序单元的,而是用于导入包内模块的成员,这样可以把模块中的成员导入变成包内的成员,方便使用
先导入先执行 from test import t1,t2 先执行t1在执行t2
包内导入 from import
注意:必须明确不能带点.,否则有语法错误
如:from a import b.c
windows文件系统不区分大小写 解决办法:在__init__.py文件去定义一个__all__变量,__all__来定义*的具体内容