collection模块:python中的扩展数据模块
#namedtuple: 生成可以使用名字来访问元素内容的tuple
'''from collections import namedtuple
Point=namedtuple('point',['x','y']) #必须起名字 point
p=Point(1,2)
print(p.x) #表示坐标中的x点
print(p.y)
print(p) #point(x=1, y=2) 表示坐标'''
#deque 双端队列,快速的从另外一侧追加和推出对象 适用于队列和栈
#队列queue:先进先出 FIFO 堆栈:先进后出 list是线性存储
'''from collections import deque
q=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 OrderedDict
d=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 Counter
c=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 defaultdict
dic=[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) #首尾都baokuo
y1=random.randrange(1,10,2) # 大于等于1且小于10之间的奇数 #不包括wei
print(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 json
str_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 json
data = {'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模块:序列化句柄 直接操作,方便

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

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

    Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...

  2. Python中的logging模块

    http://python.jobbole.com/86887/ 最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录.主要是从官方文档和stack ...

  3. Python中的random模块

    Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...

  4. 浅析Python中的struct模块

    最近在学习python网络编程这一块,在写简单的socket通信代码时,遇到了struct这个模块的使用,当时不太清楚这到底有和作用,后来查阅了相关资料大概了解了,在这里做一下简单的总结. 了解c语言 ...

  5. python中的StringIO模块

    python中的StringIO模块 标签:python StringIO 此模块主要用于在内存缓冲区中读写数据.模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中.此类中的大部分 ...

  6. python中的select模块

    介绍: Python中的select模块专注于I/O多路复用,提供了select  poll  epoll三个方法(其中后两个在Linux中可用,windows仅支持select),另外也提供了kqu ...

  7. Python中的re模块--正则表达式

    Python中的re模块--正则表达式 使用match从字符串开头匹配 以匹配国内手机号为例,通常手机号为11位,以1开头.大概是这样13509094747,(这个号码是我随便写的,请不要拨打),我们 ...

  8. python中的shutil模块

    目录 python中的shutil模块 目录和文件操作 归档操作 python中的shutil模块 shutil模块对文件和文件集合提供了许多高级操作,特别是提供了支持文件复制和删除的函数. 目录和文 ...

  9. Python中使用operator模块实现对象的多级排序

    Python中使用operator模块实现对象的多级排序 今天碰到一个小的排序问题,需要按嵌套对象的多个属性来排序,于是发现了Python里的operator模块和sorted函数组合可以实现这个功能 ...

  10. 【转】浅析Python中的struct模块

    [转]浅析Python中的struct模块 最近在学习python网络编程这一块,在写简单的socket通信代码时,遇到了struct这个模块的使用,当时不太清楚这到底有和作用,后来查阅了相关资料大概 ...

随机推荐

  1. ie下不支持placeholder 用jquery来完成兼容

    这是我的第一个博客,还是写点正经的,希望对做前端朋友有所帮助.最近在做的项目placeholder不兼容ie,这个可以兼容IE的输入框的HTML新增的placeholder的显示下面是代码:$( do ...

  2. return和exit以及C语言递归函数

    return 在主函数main()中,return整个函数退出,在子函数中return,只退出子函数. exit exit无论在函数什么位置退出整个函数 递归函数 #include <stdio ...

  3. Jenkins自动打包并部署(以java -jar形势运行)

    1.打包 与平常maven项目打包一致,不再赘述 2.杀死原有进程 通过 pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` 获取当前 ...

  4. electron打包成.exe后限制只启动一个应用

    注意:这是2.x的文档 const {app} = require('electron') let myWindow = null const shouldQuit = app.makeSingleI ...

  5. 【leetcode】Reorganize String

    题目如下: Given a string S, check if the letters can be rearranged so that two characters that are adjac ...

  6. Mybatis-Plus和Mybatis的区别

    1.List item 区别一如果Mybatis Plus是扳手,那Mybatis Generator就是生产扳手的工厂.通俗来讲——MyBatis:一种操作数据库的框架,提供一种Mapper类,支持 ...

  7. mysql-5.6.45-linux-glibc2.12-x86_64.tar.gz下载安装

    一 ,mysql下载 需要注册,可以通过组合url越过注册下载需要的包. 下载地址: https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.3 ...

  8. scrapy项目4:爬取当当网中机器学习的数据及价格(CrawlSpider类)

    scrapy项目3中已经对网页规律作出解析,这里用crawlspider类对其内容进行爬取: 项目结构与项目3中相同如下图,唯一不同的为book.py文件 crawlspider类的爬虫文件book的 ...

  9. 从源码编译安装PCL并运行第一个小例子

    如何通过源码编译方式安装PCL 对于很多想学习PCL的同学而言,往往会被如何安装困扰很长时间.我就是这其中的一员,为了不让大家在安装问题上浪费太多时间,我决心写下这篇小小的随笔,希望对大家有所帮助. ...

  10. (57)Linux驱动开发之三Linux字符设备驱动

    1.一般情况下,对每一种设备驱动都会定义一个软件模块,这个工程模块包含.h和.c文件,前者定义该设备驱动的数据结构并声明外部函数,后者进行设备驱动的具体实现. 2.典型的无操作系统下的逻辑开发程序是: ...