random 模块

用于生成随机数

用法:importrandom
random.random() 随机生成 0.0 ~1.0 小数 包头,不包尾
random.randint(1,5) 生成 1-5 之间整数,包头,包尾
randmon.randrange(1,5) 生成大于等于1,小于5之间的 ,包头,不包尾
random模块和range()区别
random模块 一般生成 1 个随机数字,range()生成1个序列
hashlib模块 python 2.x
生成MD5加密 import hashlib
import hashlib
hash=hashlib.md5()
hash.update=('admin')
print(hash.hexdigest())
print(hash.digest())
pickle模块 :序列化加密
pickle提供了一个简单的持久化功能。可以将对象以文件的形式存放在磁盘上。
用法:import pickle
特别说明:python 3.0+dumps序列化的类型为 bytes 2.0+ 为 str
pickle.dump() 序列化
pickle.loads() 反序列化
import pickle
li=['lee',19,'hehe']
dumped=pickle.dumps(li) #把列表序列化
print(dumped)
# 输出b'\x80\x03]q\x00(X\x03\x00\x00\x00leeq\x01K\x13X\x04\x00\x00\x00heheq\x02e.'
print(type(dumped))
# 输出 
loadsed=pickle.loads(dumped) #把已经序列化的内容反序列化
print(loadsed) #输出 ['lee',19,'hehe'] ,还原成li
print(type(loadsed)) # list
pickle.dump() 序列化到文件
python.3.0 序列化到文件写入的内容 一定要是 bytes 所以要用 'wb' 模式写入,2.0 是str类型,所以可以用'r'
pickle.load() 从文件中反序列化
import pickle
f=open('pickle.sss','wb')
pickle.dump(li,f) #文件不存在会新建1个,后缀可以随便写
f.close()
f=open('dump.txt', 'rb')
result=pickle.load(f) #反序列化到内存 ,注意是 'rb'
print(result)
f.close()
json
json.dumps() 和pickle 类似
json.dumps(s,default)
可选参数default就是把任意一个对象变成一个可序列为JSON的对象
json.dumps(s, default=lambda obj: obj.__dict__)
re 正则表达式模块
导入模块:import re
.group()
返回满足条件的内容 ,findall 返回类型为list ,所以findall()没有.group() 方法
re.match(表达式,字符串) :
从头开始匹配,根据条件从头开始匹配第1个字符,返回1个MATCH对象,如果没有则返回空
import re
result1=re.match('\d+' ,'asda123123ffa')
#\d 表示数字,\d+表示1个或多个数字,match 从头开始匹配,因为头部是字母,
#所以返回none,程序报错
if result1:
print(result1.group())
else:
print('none对象没有group()方法')
#输出结果none对象没有group()方法
result2=re.match('\d+' ,'1232asfas123f')
#输出结果:1232
re.search(表达式,字符串):
从整个字符串匹配,根据条件,匹配整个字符串的第1个返回1个search 对象,通过xxx.group 返回结果
import re
result3=re.search('\d+','asd1023fff') #返回所有字符串内容中的第1个数字
print(type(result3),result3.group())
#输出结果 1023
re.findall(表达式,字符串):
返回整个满组条件的内容,类型为List
import
result4=re.findall('\d+','1sd4sf5') #寻找字符串所有匹配内容,并返回1个list
print(type(result4),result4)
#输出结果: ['1', '4', '5']
re. compile('条件'):
一般配合其他函数使用(search,match), 生成1个查询(Pattern)对象
import re # 导入模块
str = '12345789'
Pattern = re.compile('234') # 生成查询对象
result1 = Pattern.search(str).group() # 注意不再是 re.search
result2 = Pattern.findall(str) # findall() 函数没有.group
print(result1,result2)
# 输出 234 ['234']