python 常用模块

random 模块

用于生成随机数

用法:import random

  • 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)) 
# 输出 <class 'bytes'>

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())
#输出结果 <class '_sre.SRE_Match'> 1023
re.findall(表达式,字符串):

返回整个满组条件的内容,类型为List

import
result4=re.findall('\d+','1sd4sf5') #寻找字符串所有匹配内容,并返回1个list
print(type(result4),result4)
#输出结果:<class 'list'> ['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']

 

转载于:https://my.oschina.net/esdn/blog/786880

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值