python模块

python模块

模块(module):在python中,xxx.py就是一个模块。

python常见模块:

一.math:该模块主要用于数学和相关计算的一个模块

属性:

1.pi ----- 圆周率
2.e ----- 自然常数
python模块

方法:

1.三角函数 sin cos……
2.对数 log lg ……
3. ceil ----- 向上取整
4. floor ----- 向下取整
5. fabs ----- 绝对值
6. sqrt ----- 开平方
7. pow ----- 幂次方
python模块

二、random:

1、 random.random() # 随机[0~1) 区间
python模块

2、random.randint() # [a, b] 区间的随机整数
python模块

3、 random.uniform # [a, b] 区间的随机数
python模块

4、random.choice(容器) # 随机选择一个元素
python模块

5、random.shuffle(容器) # 洗牌,随机打散数据
python模块

三、uuid: UUID是128位的全局唯一标识符,通常由32字节的字符串表示。它可以保证时间和空间的唯一性,也称为GUID。

uuid主要有五个算法,也就是五种方法来实现:
1、uuid1()——基于时间戳
由MAC地址、当前时间戳、随机数生成。可以保证全球范围内的唯一性,
但MAC的使用同时带来安全性问题,局域网中可以使用IP来代替MAC。

2、uuid2()——基于分布式计算环境DCE(Python中没有这个函数)
算法与uuid1相同,不同的是把时间戳的前4位置换为POSIX的UID。
实际中很少用到该方法。

3、uuid3()——基于名字的MD5散列值
通过计算名字和命名空间的MD5散列值得到,保证了同一命名空间中不同名字的唯一性,
和不同命名空间的唯一性,但同一命名空间的同一名字生成相同的uuid。

4、uuid4()——基于随机数
由伪随机数得到,有一定的重复概率,该概率可以计算出来。

5、uuid5()——基于名字的SHA-1散列值
算法与uuid3相同,不同的是使用 Secure Hash Algorithm 1 算法

四、os:提供了非常丰富的方法用来处理文件和目录。

curdir # 返回当前路径,相对路径
python模块

getcwd() # 获取绝对路径,注意返回字节
python模块

chdir(path) # 修改当前工作空间路径
cpu_count() # 获取当前电脑的核(线程)数量
python模块

chmod() # 修改权限(Linux)
defpath() # 默认查找文件路径
device_encoding # 文件编码
getpid() # 获取当前进程的编号
python模块

getppid() # 获取当前进程的父进程编号
python模块

kill # 杀死进程
linesep # 获取当前系统的换行符
python模块

listdir() # 获取当前工作空间下的文件及文件件,返回列表
python模块

scandir # 获取当前工作空间下的文件及文件件,返回一个迭代器
mkdir # 创建目录,只能创建一级目录
python模块
python模块

makedirs() # 创建目录,可以递归创建多级

python模块

python模块

open() # 打开或者创建文件
remove() # 删除文件
removedirs() # 删除目录
python模块
python模块

rmdir # 删除目录
python模块
python模块

rename # 重命名
python模块
python模块
python模块

sep # 路径分隔符
stat() # 返回文件状态

五、sys:

argv # 脚本传参

exit() # 退出系统
python模块

getdefaultencoding() # 获取系统的默认编码
python模块

getfilesystemencoding() # 获取文件编码
python模块

setrecursionlimit(num) # 设置递归的极限值
python模块

getrecursionlimit() # 获取递归的极限值
python模块

getrefcount() # 获取对象的引用计数

垃圾回收算法:
引用计数法:所有对象都有引用计数。给一个对象分配一个新名称,或是将其放入一个容器,都会增加该对象的引用计数
缺点:循环引用时,就无法回收内存。

六、time 和 datetime:

asctime() # 返回一个日期字符串
ctime() # 返回一个日期字符串
python模块

gmtime() # 获取一个时间对象
localtime() # 获取一个时间对象
python模块

time() # 获取当前时间戳
python模块

sleep(sec) # 休眠
strftime() # 格式化时间
strptime() # 将一个字符串格式时间,转换为日期对象

datetime模块:

time([hour[,minutes][,seconds]]) # 构建一个时间对象
date(year,month,day) # 构建一个日期对象

datetime子模块:

astimezone(时间对象) # 返回当前时区对应的时间对象
datetime.now() # 返回当前时间对象
ctime(时间对象) # 一个符合欧美标准的时间字符串
time(时间对象) # 返回时间对象的时间部分
date(时间对象) # 返回时间对象的日期部分

七、calendar(日历模块):

1、calendar.calendar()----- 获取本年日历

python模块

八、hashlib:

加密学:如果通过秘钥是否同一个,可以将加密算法。

1、对称加密:DES

2、非对称加密
加密的秘钥和解密秘钥并不是使用同一个rsa,生成一对秘钥,公钥和私钥。

3、哈希加密(hash)、散列加密
不可逆加密、单向、结果是唯一的。
md5
shal256
shal384
……

九、hmac:

python模块