常见模块

1.collections模块

是python中的扩展数据类型

1.1坐标表示与元组相同,为了区分
引入namedtuple
P=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       返回操作系统平台名称


原文地址:https://www.cnblogs.com/shachengcc1/p/11179977.html