python中的各个模块

collection模块:python中的扩展数据模块#namedtuple: 生成可以使用名字来访问元素内容的tuple‘‘‘from collections import namedtuplePoint=namedtuple(‘point‘,[‘x‘,‘y‘])  #必须起名字 pointp=Point(1,2)print(p.x)  #表示坐标中的x点print(p.y)print(p)   #point(x=1, y=2)    表示坐标‘‘‘#deque 双端队列,快速的从另外一侧追加和推出对象  适用于队列和栈#队列queue:先进先出 FIFO 堆栈:先进后出   list是线性存储‘‘‘from collections import  dequeq=deque([1,2])#创建一个队列,队列里面放一个列表q.append(‘d‘)#从后面放数据q.appendleft(‘e‘)#从前面放数据q.insert(1,4)#插队# q.pop()#从后面去数据# q.popleft()#从前面取数据print(q.pop())print(q.popleft())‘‘‘#OrderedDict:有序字典---》保持key的顺序‘‘‘from collections import OrderedDictd=dict([(‘a‘,1),(‘b‘,2),(‘c‘,3)])print(d)#c此时无序d1=OrderedDict([(‘a‘,1),(‘b‘,2),(‘c‘,3)])print(d1)#OrderedDict([(‘a‘, 1), (‘b‘, 2), (‘c‘, 3)])此时有序‘‘‘# counter:计数器,用来计数   无序的容器类型

#defaultdict:带有默认值得字典‘‘‘from collections import Counterc=Counter(‘vcbdjsihguirehgslkjfsdkfjiugh‘)print(c)#Counter({‘j‘: 3, ‘s‘: 3, ‘i‘: 3, ‘h‘: 3, ‘g‘: 3, ‘d‘: 2, ‘u‘: 2, ‘k‘: 2, ‘f‘: 2, ‘v‘: 1, ‘c‘: 1, ‘b‘: 1, ‘r‘: 1, ‘e‘: 1, ‘l‘: 1})‘‘‘#给集合排序  大与某个值的和小于某个值的存放在两个key下面‘‘‘from collections import defaultdictdic=[11, 22, 33,44,55,66,77,88,99,90]d1=defaultdict(list)for i in dic:    if i>66:        d1[‘k1‘].append(i)    else:        d1[‘k2‘].append(i)print(d1)   #defaultdict(<class ‘list‘>, {‘k2‘: [11, 22, 33, 44, 55, 66], ‘k1‘: [77, 88, 99, 90]})‘‘‘                              #时间模块#导入时间模块#常用的方法# 1.time.time()     获取当前时间# 2.time.sleep(secs)  推迟的时间戳#表示时间的三种方式#时间戳:时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型# 元组(struct_time):# 格式化的时间字符串Format String   ‘1999-12-06’‘‘‘import time#时间戳x=time.time()print(x)#时间字符串y=time.strftime("%Y-%m-%d %X")print(y)‘‘‘#时间元组:localtime将一个时间戳转换为当前时区的struct_time

#print(time.localtime())#time.struct_time(tm_year=2017, tm_mon=7, tm_mday=24,tm_hour=13, tm_min=59, tm_sec=37, tm_wday=0, tm_yday=205, tm_isdst=0)#时间戳是计算机能够识别的时间;时间字符串是人能够看懂的时间;元组则是用来操作时间的*****************#三种方式之间的转换

                         #random模块import random       #随机数#随机小数‘‘‘x=random.random()  #大于0且小于1之间的小数print(x)x1=random.uniform(12,23)#大于12小于23的小数print(x1)#随机整数y=random.randint(1243,6567)   #首尾都baokuoy1=random.randrange(1,10,2) # 大于等于1且小于10之间的奇数  #不包括weiprint(y)print(y1)#随机选择多个返回z=random.sample([1,‘23‘,[4,5]],2) # #列表元素任意2个组合print(z)#打乱列表顺序item=[1,23,5,7,97]x=random.shuffle(item)print(item)‘‘‘#生成随机验证码

‘‘‘def v_code():

    code = ‘‘    for i in range(5):

        num=random.randint(0,9)        alf=chr(random.randint(65,90))        add=random.choice([num,alf])        code="".join([code,str(add)])

    return code

print(v_code())‘‘‘#os模块(操作系统模块):与操作系统交互的一个接口#sys模块:与python解释器交互的一个接口#******# 序列就是字符串# 序列化的应用# 写文件(数据传输)# 网络传输# 序列化模块:将原本的字典、列表等内容转换成一个字符串的过程就叫做序列化。# 序列化:内存中的对象转换为字节序列(字符串)# 反序列化:将字节序列转换为内存中的对象# 序列化的目的:# 1.以某种存储形式是自定义对象持久化# 2.将对象从一个地方传递到另一个地方# 3.使程序更具有维护性## json模块:通用的序列化格式  只有很少的一部分数据类型通过json转化为字符串#可以进行序列化的:数字 字符串 元组 列表   不能转集合# 1.dumps() 序列化方法‘‘‘dic={‘a‘:‘1‘,"b":‘2‘}print(type(dic),dic)import jsonstr_dic=json.dumps(dic)print(type(str_dic),str_dic)#2.loads反序列化方法dic_d=json.loads(str_dic)print(type(dic_d),dic_d)‘‘‘

#格式化输出‘‘‘import jsondata = {‘username‘:[‘李华‘,‘二愣子‘],‘sex‘:‘male‘,‘age‘:16}json_dic2 = json.dumps(data,sort_keys=True,indent=2,separators=(‘,‘,‘:‘),ensure_ascii=False)print(json_dic2)结果;{  "age":16,  "sex":"male",  "username":[    "李华",    "二愣子"  ]}‘‘‘

#3.dump和load  不加s  和文件相关的操作import json# dic={‘a‘:‘1‘,"b":‘2‘}# f=open(‘fff‘,‘w‘,encoding=‘utf-8‘)# json.dump(dic,f)# f.close()# f=open(‘fff‘)# res=json.load(f)# print(type(res),res)

# pickle模块:所有的python中的数据类型都可以转化 但只有pyth理解,且部分反序列化依赖代码# shelve模块:序列化句柄 直接操作,方便

原文地址:https://www.cnblogs.com/lxx99/p/11772608.html

时间: 2024-11-09 07:49:05

python中的各个模块的相关文章

Python中的random模块,来自于Capricorn的实验室

Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 random.uniform random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限.如果a > b,则生成的随机数n: a <= n <= b.如果 a <

python中查看可用模块

1.这种方式的问题是,只列出当前import进上下文的模块. 进入python命令行.输入以下代码: >>>import sys >>>sys.modules 2.在python命令行下输入: >>>help() help>modulespython中查看可用模块,布布扣,bubuko.com

python中动态导入模块

如果导入的模块不存在,Python解释器会报 ImportError 错误: >>> import something Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named something 有的时候,两个不同的模块提供了相同的功能,比如 StringIO 和 cStringIO 都提供了Strin

Python中的random模块

Python中的random模块 (转载自http://www.cnblogs.com/yd1227/archive/2011/03/18/1988015.html) Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 random.uniform random.uniform的函数原型为:random.uniform(a, b),

解决linux系统下python中的matplotlib模块内的pyplot输出图片不能显示中文的问题

问题: 我在ubuntu14.04下用python中的matplotlib模块内的pyplot输出图片不能显示中文,怎么解决呢? 解决: 1.指定默认编码为UTF-8: 在python代码开头加入如下代码 import sys reload(sys) sys.setdefaultencoding('utf-8') 2.确认你ubuntu系统环境下拥有的中文字体文件: 在终端运行命令"fc-list :lang=zh",得到自己系统的中文字体 命令输出如下: /usr/share/fon

(转)Python中的random模块

Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 random.uniform random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限.如果a > b,则生成的随机数n: a <= n <= b.如果 a <

转载:python中的copy模块(浅复制和深复制)

主要是介绍python中的copy模块. copy模块包括创建复合对象(包括列表.元组.字典和用户定义对象的实例)的深浅复制的函数. ########copy(x)########创建新的复合对象并通过引用复制x的成员来创建x的浅复制.更加深层次说,它复制了对象,但对于对象中的元素,依然使用引用.对于内置类型,此函数并不经常使用.而是使用诸如list(x), dict(x), set(x)等调用方式来创建x的浅复制,要知道像这样直接使用类型名显然比使用copy()快很多.但是它们达到的效果是一样

Python中的logging模块【转】

基本用法 下面的代码展示了logging最基本的用法. 1 # -*- coding: utf-8 -*- 2 3 import logging 4 import sys 5 6 # 获取logger实例,如果参数为空则返回root logger 7 logger = logging.getLogger("AppName") 8 9 # 指定logger输出格式 10 formatter = logging.Formatter('%(asctime)s %(levelname)-8s:

Python中的logging模块

http://python.jobbole.com/86887/ 最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录.主要是从官方文档和stackoverflow上查询到的一些内容. 官方文档 技术博客 基本用法 下面的代码展示了logging最基本的用法. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

在Python中调用C++模块

首先,这是自我转载:YellowTree | STbioinf的文章「在Python中调用C++模块」 在Python中成功实现了对原来C++代码模块的复用!这个好处多多,Python写得快,C++跑得快,那就是既快又快了!方法很简单,以至于我能够用一张截图记录下整个过程(点击图片看大图)! 其实,注意到,必须在原来的C++代码后面添加extern “C”来辅助(C则不需要,这也是与复用C代码时最大的不同点),不然Python在调用这个构建后的动态链接库时是找不到原来的方法或者函数的,说到底还都