一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第20天
datetime模块
其实该模块就是对time模块做补充
- datetime模块为日期和时间处理同时提供了简单和复杂的方法
datetime模块:
-
time:时间
-
date:日期 (data 数据)
-
datetime:日期时间
-
timedelta:时间差
-
datetime.tzinfo:与时区有关的相关信息
import datetime
print(datetime.date.today())
>>> 2022-4-28
#date类表示一个日期。日期由年、月、日组成
datetime.date(year, month, day):
- day根据year和month来决定
- moth是1-12月
- year是1-9999年
date类的一些方法(常用):
- date.today():返回一个表示当前本地日期的date对象
- date.max、date.min:date对象所能表示的最大、最小日期
import datetime
timedel = datetime.timedelta(hour = 2)
now = datetime.datetime.now()
result = now + timedel
print(result)
timedelta**[微秒 - 年,没有月]**这里支持时间的运算
- 应用场景:
缓存:数据库redis 作为缓存 redis.set(key,value,时间差) session 内存的缓存
random模块
简单的可以把该模块理解为随机模块
ran = random.random()
print(ran)
ran = random.randrange(1,10,2)
print(ran)
ran = random.randint(1,10)
print(ran)
list = ['mzmm403','小明','小美','小帅']
ran = random.choice(list)
print(ran)
pai = ['大王','小王','黑桃A','梅花K']
random.shuffle(pai)
print(pai)
-
.random():从0-1随机生成一个浮点数
-
.randrange(start,end,step):从start到end随机生成一个步长为step的整数,其中范围是左闭右开,step默认值为1,默认整数
-
.randint(start,end):从sart到end随机生成一个整数,且左右都闭
-
.choice:在后面传入的值中随机抽取一个
-
.shuffle:就是将传入的值进行洗牌打乱
hashlib模块
提供一些加密的算法
这里列举三个常用的加密算法:md5,sha1,sha256
import hashlib
#加入你的女友给你发一段文字你想加密
msg = '中午一起去吃饭吧'
#这里加密不支持中文所以我们得先编码
md5 = hashlib.md5(mgs.encode('utf-8'))
print(md5.hexdigest())
sha1 = hashlib.sha1(mgs.encode('utf-8'))
print(sha1.hexdigest())
sha256 = hashlib.sha256(mgs.encode('utf-8'))
print(sha256.hexdigest())
- 以上三种加密都是单向加密(ps:除非你会加密算法的底层,否则你也解不出来)
- md5加密后的长度是32,sha1是40,sha256是64
- 输出加密结果时都必须调用hexdigest
应用场景:用户密码加密,一般在数据库记录的是用户加密后的密码,而如何实现有效登录是将用户输入的密码加密后和数据库的比对