一. 常用模块介绍
1.常用标准库
"""
1.数学模块
math(普通数学模块)、cmath(复数的数学模块)
2.随机模块
random.randint(m, n) - 产生[m, n]的随机整数
random.random() - 产生[0, 1)的随机数
random.shuffle(列表) - 随机打乱列表中的元素
random.choice(列表) - 从列表中随机获取一个元素
random.choices(列表, k=N) - 从列表中随机获取N个元素
3.os模块
os.chdir(路径) - 将指定路径对应的目录修改成当前目录(默认情况下当前目录是当前py文件所在的目录)
os.getcwd() - 获取当前目录的全路径(以绝对路径返回)
os.path.basename()
创建文件/文件夹、删除文件/文件夹、判断是否是文件/文件夹、判断文件/文件夹是否存在
4.json模块
5.re模块 - 正则表达式相关操作
6.sys模块
sys.exit() - 退出程序(提前结束线程)
7.turtle - 画图模块
8.csv - csv文件操作
9.smtplib - 邮件的发送
10.time 和 datetime
11.hashlib
"""
import os
import math
import random
# 去掉小数部分只保留整数部分
print(int(2.9), int(-2.9))
# 向小取整
print(math.floor(2.9), math.floor(-2.9))
print(random.random()*100) # [1,100)的随机小数
print(random.random()*50 + 50) # [50,100)的随机小数
num = [1, 2, 3, 4, 5, 6, 7, 8, 9]
random.shuffle(num)
print(num)
num = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(random.choice(num))
print(random.choices(num, k=2))
print(os.getcwd())
二. time模块的使用
1.什么是时间戳
"""
时间戳就是以秒为单位表示的到格林威治时间1970年1月1日0时0分0秒的时间差
保存时间的时候保存时间戳要比直接保存时间信息更加节约内存
对时间戳进行加密比字符串时间加密要方便
"""
# 1.time() - 获取当前时间(返回的是当前时间的时间戳)
t1 = time.time()
print(t1) # 1603093091.270085
# 2.time.localtime() - 获取当前的本地时间,返回struct_time
# time.localtime() - 获取当前的本地时间
t2 = time.localtime()
print(t2)
# time.localtime(时间戳) - 获取指定时间戳对应的本地时间
t3 = time.time()
print(time.localtime(t3))
3.time.strftime(时间格式字符串, 结构体时间) - 将结构体时间转换成指定格式的字符串时间
"""
# '2020/10/19'
"""
import time
s1 = time.strftime('%Y/%m/%d', t2)
print(s1)
# xxxx-xx-xx xx:xx:xx
s2 = time.strftime('%Y-%m-%d %H:%M:%S', t2)
print(s2)
# 星期一 下午3:38
s3 = time.strftime('%a %p%H:%M', t2)
print(s3) # Mon PM16:20
# time.strptime(字符串, 时间格式字符串) - 将字符串时间转换成结构体时间
s2 = '2000-10-29'
t5 = time.strptime(s2, '%Y-%m-%d')
print(t5)
三. hashlib模块的使用
"""
hashlib模块主要提供hash加密相关的算法来对数据进行加密处理
hash加密(hash摘要)的特点:
a. 加密结果不可逆(不能通过密文/摘要去获取到原文)
b. 同一个数据通过相同的算法加密之后结果是一样的
c. 不同的数据通过相同的算法加密之后的长度相同
hash摘要的应用场景:
a.密码保存
b.数据完整性的验证
"""
import hashlib
# 1.根据算法创建hash对象(md5和shaXXX)
# hashlib.md5()
hash = hashlib.md5()
# 2.添加需要生成摘要/密文的数据
# hash.update(数据的二进制)
hash.update('123456'.encode(encoding='utf-8'))
# 3.生成摘要
dig = hash.hexdigest()
print(dig)