1.模块
1, 在Python 中, 每个以 `.py` 结尾的 Python 代码⽂件 都可以称为是⼀个模块。
2, 在模块中 别⼈书写好的功能(变量, 函数, 类),我们可以拿来直接使⽤。
3, 我们自己写的代码文件, 想要作为模块让别⼈使⽤, 你的代码⽂件名(模块名) 满足标识符的规则。
4, 想要使用 别人模块中写好的功能,需要先导入别人写好的功能。
5, as 关键字 , 可以给模块或者功能起别名。
2.模块导入的方法
模块就好比是工具包, 要想使用这个工具包中的工具, 就需要先 导入模块
(1)方式一:多用于导入系统中的常用的模块和功能
- 导入模块:
- import 模块名 # 模块名 就是代码文件名,不要 .py
- 使用其中的功能:
- 模块名.功能名 # 功能可以是变量,函数 和类
import random
num = random.randint(1, 10)
print(num)
(2)方式二:多用于导入自己书写的,或者是第三方的模块
- 导入模块:
- from 模块名 import 功能名 # 导入指定的功能
- 使用其中的功能:
- 功能名()
- 小tips:导入模块时可以使⽤快捷键 Alt 回⻋
from random import randint
num = randint(1, 10)
print(num)
需求:
1. 定义⼀个模块 tools.py , 在模块中定义⼀个函数 sum_2_num(), 可以对两个数字求和。
2. 新定义⼀个代码⽂件, 调⽤ tools.py ⽂件中的sum_2_num() 函数, 对 10 和 20 求和。
tools.py文件:
def sum_num(a, b):return a + b
新文件:xx.py
# import tools
#
# num = tools.sum_num(10, 20)
# print(num)from tools import sum_num as sn# num = sum_num(10, 20)
num = sn(10, 20)
print(num)
3.__name__ 变量
- 导⼊模块的时候, 会执行模块中的代码
- 作用:如果在导⼊模块的时候, 模块中的部分代码不想被执⾏, 可以使⽤ __name__ 来解决
- __name__ 变量:是 Python 解释器内置的变量(变量的值是⾃动维护的), 每个代码⽂件中,都有这个变量
- 在模块中 直接右键运⾏代码⽂件, __name__ 变量的值是 '__main__'
- 如果是被导⼊运行代码文件, __name__ 变量的值 是 模块名(文件名)
总的来说,所以: if __name__ == '__main__':# 在这个 if 的缩进中书写的代码 , 导⼊的时候不会被执⾏
解析:
(1)在xx.py中导入模块tools的时候,会执行tools模块中的代码,如下图:
(2)使用_name_变量的原理:在模块中 __name__ 的值是'__main__',在被导入的文件中,他的值是模块名(文件名)
(3)使用判断语句,控制导入的模块里的代码执行与否:
4.模块的导⼊顺序
- 在导⼊模块的时候, 会先从代码所在的目录进⾏导⼊
- 如果没有找到,回去 Python 系统的⽬录查找导⼊
- 如果没有找到, 报错
注意点: 我们⾃⼰定义的代码文件名字 不要和你带入的系统的模块文件名⼀样。