1.collections模块
是python中的扩展数据类型
1.1坐标表示与元组相同,为了区分
引入namedtupleP=namedtuple('point',['x'],['y'])1.2双端队列deque
引子:传统队列:先进先出
import queue q = queue.Queue() q.put(10) #涉及到顺序,只能一次放一个值 q.put(2) print(q.get()) print(q.get()) #print(q.get()) #此时程序不停,等数据,直到可以get到为止,称为阻塞 print(q) #只能得到一个内存地址 print(q.qsize()) #取内部值的数量
因此引入,双端队列。一个管道,前后都可以放,前后都可以取 from collections import deque dq = deque([1.2]) dq.append() #从后面放 dq.appendleft() #从前面放 dq.pop() #从后面取 dq.popleft() #从前面取 dq.index() #插入 所有的插入都是在原位置上加新内容,并把原内容一次后推 print(dq) #会显示双端队列内的内容,是个列表 from collections import OrderedDict od = OrderedDict([('a',a),('b',2)]) 此时生成的是一个有序的字典,依旧可以按照字典的用法k,v继续使 用 list是线性结构,插或删除都会导致后面的不上来,效率低 队列和堆栈是强制约束出第一个数据来提高效率 1.3 有序字典
from collections import OrderedDict od = OrderedDict([('a',a),('b',2)]) 此时生成的是一个有序的字典,依旧可以按照字典的所有用法k,v继续使用
2 time模块 import time
time.sleep(1) #时间戳: time.time()#返回一个以秒为单位的浮点数,偏移量 # 给计算机看的 #格式化时间的 字符串 给人看的 print(time.strftime('%Y-%m-%d %H:%M:%S ')) # '%Y-%m-%d %H:%M:%S ' 年月日时分秒的对应字母不变,但是具体显示那部分可以变 #详情还有很多.... #结构化时间的 元组 使用来计算时间差的 print(time.localtime()) #得到的是一个元组 #相互转化 格式化时间和时间戳的转化需要传输入输出的格式 print(time.asctime()) #Fri Jul 12 16:04:20 2019 它的转化又有新的一套转化方法 3.random模块
import random random.randint(1,5) #baokuo5 random.randrange(1,10,2) #不包括10 random.choice([1,'a',[4,5]]) #从后面的范围中随机选一个 random.sample([1,'a',[4,5]],n) #从后面的范围中随机返回n个 random.shuffle('可迭代对象') #打乱该对象 4.OS模块 os模块是与操作系统交互的一个接口 import os
print(os.getcwd()) #获取当前py的工作目录 os.chdir() #修改py的工作目录 print(os.curdir) #linux用的. 留在当前目录 print(os.pardir) #linux用的.,返回上层目录
5.sys模块 sys模块是与python解释器交互的一个接口
sys.argv 命令行参数List,第一个元素是程序本身路径sys.exit(n) 退出程序,正常退出时exit(0),错误退出sys.exit(1)sys.version 获取Python解释程序的版本信息sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值sys.platform 返回操作系统平台名称
posted on 2019-07-13 11:43 阅读( ...) 评论( ...)