模块 < 包 < 库
模块
以py为后缀的文件即可称为模块,其中定义的全局变量、函数、类可提供外界使用。
模块名即为py文件名,需符合标志符的命名规则。代码文件命名时需注意:不要与模块名重名!否则会从当前目录的同名文件中调用
import 模块
以下两种方法可能存在的问题是:若多个模块中存在同名情况,则会产生冲突,可以使用as起别名,使用时便只能用别名调用
# 不想导入整个模块则使用from
from 模块 import 成员
# 导入模块中的所有函数
from 模块 import *
import random
# 产生1~20之间的随机整数
num=random.randint(1,20)
__name__
__name__是解释器自动维护的变量,不需要声明
变量的值
1、在代码文件中运行,值为__main__
2、被导入运行,值为模块名
import random
print(f'直接运行的__name__值:{__name__}')
print(f'导入的__name__值:{random.__name__}')

导入模块时会执行模块中的全部代码,因此需要__name__来进行判断
if __name__=='__main__':
# 运行代码时执行的内容
else:
# 被导入时,可以单独调用到if外声明的对象
pass
包
模块的结构化管理,将众多具有相关功能的模块文件组合成包。包文件由_init_.py和模块文件组成,通过init文件来识别是否为包文件,实际使用不需要特意区分。
import 包.模块
库
具有某些功能的模块和包都可以被称作为库。
math
提供对浮点数的数学运算函数,math 模块下的函数返回值均为浮点数
import math
dir(math)
# 包含54个常量/方法
random
| 函数 | 描述 |
|---|---|
| choice(seq) | 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数 |
| randrange ([start,] stop [,step]) | 从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1 |
| random() | 随机生成下一个实数,它在[0,1)范围内 |
| randint(x,y) | 产生x~y的一个整数型随机数 |
| seed([x]) | 改变随机数生成器的种子seed |
| shuffle(lst) | 将序列的所有元素随机排序 |
| uniform(x, y) | 随机生成下一个实数,它在[x,y]范围内 |

被折叠的 条评论
为什么被折叠?



