核能来袭--模块
1.简单了解模块
2.Collections
3.Time模块
4.functools
5.队列和栈
一.初识模块
其实之前写的每一个PY文件都是一个模块
还有一些我们一直在使用的模块 buildins内置模块.print input
引入模块的语法 : ①import xxx 导入xxx ②form xxx import xxx 从xxx导入xxx
这两种从本质上来说其实是一样的,只是后期的处理上不是很一样
#从一个范围之间随机取一个数 random.randint(10,20) # 从10到20之间随机取一个整数 #随机取一个小数 random.random(10,20) # 从10-20之间随机取一个小数 random.unform()# 同样是取一个小数 #随机打乱顺序 random.shuffle(lst) #将lst中的数据打乱顺序 # 随机选择一个数 random.choice(lst) 从lst中随机选一个元素 random.sample(lst,3) #从lst中随机选三个元素
二 .Collections
1.Counter 计数器
2.defaultdict 默认值字典
3.OrderedDict 有序字典
4.数据结构 (队列,栈) 重点
1)栈 :先进后出 Stack
class ChaoChuFanWeiExceprion(Exception): # 自定义异常 pass class MeiDongXiLeException(Exception): #自定义异常 pass class Stack: #创建一个类 def __init__(self,size): self.size=size #容量 self.lst=lst self.top=0 #栈顶指针 def push(self,el): #入栈 if self.top>=self.size:#如果栈顶指针超过了容量 raise ChaoChuFanWeiExceprion('你的size满了') self.lst.insert(self.top,el) 入栈 self.top+=1 def pop(self): if self.top==0: #如果栈顶指针移动到了最后一位置 raise MeiDongXiLeException('你的size已经空了') self.top-=1 s=self.lst[self.top] 出栈 return s s=Stack(4) s.push('今') s.push('天') s.push('真') s.push('美') print(s.pop()) print(s.pop()) print(s.pop()) print(s.pop())
入栈 :push
出栈:pop
top:栈顶指针
2)队列 :先进先出
import queue q=queue.queue() q.put('今') q.put('天') q.put('真') q.put('美') print(q.get()) print(q.get()) print(q.get())
双向队列 两边都可以拿都可以出
form collections import deque d=deque() d.append('星') #默认从右边添加 d.append('期') d.append('三') d.appendleft('呀') # 从左边添加 print( d.pop() ) # 默认从右边拿出数据 呀 print( d.pop() ) #三 print( d.pop() )# 期 print( d.opoleft() ) #从左边拿数据 星
三 .时间模块 import time
时间戳: 保存在计算机中的一串数字(从1070-01-01 00:00:00)开始,每过一秒加一
如果在中国,是从(1970-01-01 08:00:00)开始计算,东八区
时间有三种: (%Y-%m-%d %H:%M:%S) 年月日 时分秒
结构化时间 : gmtime() localtime()
时间戳 : time.time() time.mktime()
格式化时间 : time.strftime() time.strptime()
时间转化:
数字->字符串
struct_time=time.localtime(数字)
str=time.strftime('%Y-%m-%d %H:%M:%S' ,struct_time)
字符串->数字
struct_time=time.strptime( str , ' %Y-%m-%d %H:%M:%S' )
num=time.mktime(struct_time)
四.functools
wraps 给装饰器中的inner改名字
reduce 归纳 (经常与map函数一起使用) 将map函数发散的数据归纳回来
偏函数 partia(函数,xx=' ') 把函数中的某个参数固定