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个字符

  • ASCII将字母、数字和其它符号编号,并用7比特二进制来表示这个整数

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)
    
posted @ 2022-02-23 11:24  疯狂列表推导式  阅读(55)  评论(0编辑  收藏  举报