python 常用模块
python 模块
1. MD5加密
-
简介:MD5中文名为消息摘要算法第五版, 为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。 正如同“凡物莫不相异”,任何软件都有属于自己的MD5,这个MD5是唯一的且不可逆的。92年公开,用以取代MD4算法。96年后该算法被证实存在弱点,可以被加以破解。
-
效果:对输入信息生成唯一的128位散列值(32个字符)
-
特点:
- 长度固定、不可逆、离散型(无法预测)、抗碰撞性(几乎没有两个文件会得到相同的md5)
-
应用场景:
- 密码校验、文件完整性校验、数字签名(发布程序,防止木马植入)、云盘秒传。
-
note : md5仅能够对二进制进行加密,所以要对content进行endoce()
from hashlib import md5 demo = 'this is a test' ret = md5(demo.encode()).hexdigest() # 54b0c58c7ce9f2a8b551351102ee0938
2. ASCII
-
ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准
-
到目前为止共定义了128个字符
3. random
-
该模块实现了各种分布的伪随机数生成器。Python 使用 Mersenne Twister 作为核心生成器,其在 C 中的底层实现既快又线程安全。 Mersenne Twister 是现存最广泛测试的随机数发生器之一。
-
整数用函数
random.randrange(start, stop[, step]) random.randint(a, b) # 返回随机整数 N 满足 a <= N <= b。相当于 randrange(a, b+1)
-
序列用函数
random.choice(seq) # 从非空序列 seq 返回一个随机元素。 如果 seq 为空,则引发 IndexError random.choices(seq, weights=None, *, cum_weights=None, k=1) # 返回大小为 k 的元素列表, 如果 seq 为空,则引发 IndexError。 random.shuffle(seq) # 将序列 seq 随机打乱位置。 random.sample(seq, k) # 返回从总体序列或集合中选择的唯一元素的 k 长度列表。 用于无重复的随机抽样。 没太懂,暂时没用过
-
实值分布
random.random() # 返回 [0.0, 1.0) 范围内的下一个随机浮点数。 random.uniform(a, b) # 返回一个随机浮点数 N ,当 a <= b 时 a <= N <= b ,当 b < a 时 b <= N <= a
4. string 模块
import string
print(string.ascii_uppercase) # ABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.ascii_lowercase) # abcdefghijklmnopqrstuvwxyz
print(string.ascii_letters) # abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
5. tpdm 模块
-
tqdm 是进度条最常用的一个方法, 接收一个可迭代对象即可
from time import sleep from tqdm import tqdm for i in tqdm(range(1, 500)): # 模拟你的任务 sleep(0.01)