文档章节

python 常用模块

明月知心
 明月知心
发布于 2016/11/13 01:48
字数 772
阅读 23
收藏 0

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']

 

© 著作权归作者所有

上一篇: Python常用模块二
下一篇: python 内置函数2
明月知心
粉丝 6
博文 158
码字总数 71882
作品 0
武汉
程序员
私信 提问

暂无文章

通过微服务来正确实施SOA

对于组织来说,能够构建、发展和扩展大型应用程序是至关重要的, 但所涉及的挑战使其成为一项艰巨的任务。正因为如此, 微服务凭借能够将单个组件拆分成围绕特定业务功能的独立服务,已成为构建...

Linux就该这么学
15分钟前
2
0
从 Spark 到 Kubernetes — MaxCompute 的云原生开源生态实践之路

2019年5月14日,喜提浙江省科学技术进步一等奖的 MaxCompute 是阿里巴巴自研的 EB 级大数据计算平台。该平台依托阿里云飞天基础架构,是阿里巴巴在10年前做飞天系统的三大件之分布式计算部分...

阿里云官方博客
18分钟前
1
0
使用python来操作redis用法详解

1、redis连接 redis提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的red...

dragon_tech
18分钟前
2
0
给研发工程师的代码质量利器 | SOFAChannel#5 直播整理

> SOFA:Channel,有趣实用的分布式架构频道。 > > 本文根据 SOFAChannel#5 直播分享整理,主题:给研发工程师的代码质量利器 —— 自动化测试框架 SOFAActs。 > > 回顾视频以及 PPT 查看地址...

SOFAStack
20分钟前
1
0
段错误总结

https://blog.csdn.net/e_road_by_u/article/details/61415732 一、段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址、访问...

悲催的古灵武士
22分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部