day22 模块_1
核能来袭--模块
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=' ') 把函数中的某个参数固定
day22 模块_1的更多相关文章
- Day5_Py模块_1
1. time & datetime模块 ----------------------------------------------------------- >>> im ...
- day22 模块最后的补充。包。
前一天内容复习: # def func(): # a # # def main(): # func() # # try: # main() # except: # pass # raise NameE ...
- day22 模块-collections,time,random,pickle,shelve等
一.引入模块的方式: 1. 认识模块 模块可以认为是一个py文件. 模块实际上是我们的py文件运行后的名称空间 导入模块: 1. 判断sys.modules中是否已经导入过该模块 2. 开辟一个内存 ...
- day22模块和包
一.模块 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的代码(. ...
- Spider--补充--Re模块_1
# @ Author : Collin_PXY # 正则表达式: import re # 1,分步写法: # 1)rule.search(string) pattern='各小区' rule=re.c ...
- EasyUI基础入门之Easyloader(载入器)
在了解完easyui的parser(解析器)之后,接下来就是easyloader(简单载入器)的学习了. 什么是EasyLoader 正如其名字一样easyloader的作用是为了动态的载入组件所需的 ...
- Spider_知识目录_基础
知识目录 静态网页抓取 Spider_基础总结1_Request(get/post__url传参_headers_timeout)+Reponse Spider_基础总结2_Requests异常 Sp ...
- day22 Pythonpython random随机模块:略!!!本文os模块
OS模块 用于提供系统级别的操作: os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相 ...
- day22、模块-basedir、os、json模块、pickle和正则模块。
四.正则. re模块: 作用:针对的对象:字符串, 课前引入: 例子一. s='dsdsadsadadsalexdsds's.find('alex') 如何找到字符串内部的alex;?过去学习可使用方 ...
随机推荐
- 通过TortoiseSVN进行文件(夹)外链 External File
1.假设将server/a.lua文件外链到client文件夹中 2.在client文件夹空白处右键->TortoiseSVN->Properties->New->Extern ...
- (9)进程---JoinableQueue队列
消费者模型-->存和取得过程 和Queue队列区别:解决了Queue队列拿取完,程序阻塞不能自动关闭(依靠放入None来解决)的问题--->参见上个例子 put 存入, get 获取 q. ...
- 转载:删除github上文件夹的两种方式
http://www.jianshu.com/p/286be61bb9b8 删除github上文件夹的两种方式(解决已经加入ignore的文件夹无法从远程仓库删除的问题) 如果此文件夹已被加入git追 ...
- lombok插件:Data自动get/set方法, Slf4j实现Logger的调用
lombok插件:Data自动get/set方法, Slf4j实现Logger的调用 lombok.Data import lombok.Data; import org.hibernate.anno ...
- apiCloud 三方分享,微信好友分享,微信朋友圈分享,QQ分享,微博分享
首先查看我的这篇有关三方登录的博客,地址是http://www.cnblogs.com/gqx-html/p/8303567.html,配置完三方数据后可以从上一篇文章中的链接跳转到各个登录查看api ...
- React文档(七)处理事件
React元素处理事件和DOM元素处理事件很类似.下面是一些语法的不同之处: React事件的命名是用驼峰命名,而不是小写字母. 利用JSX你传递一个函数作为事件处理器,而不是一个字符串. 举个例子, ...
- sharding-jdbc读写分离原理解读
原帖地址:https://blog.csdn.net/yanyan19880509/article/details/78170233 前言 很多时候,为了应付DB的高并发读写,我们会采用读写分离技术. ...
- WDA基础七:TABStrip
这个组件很少用. 一般用这个,是为了页面好看,还有就是布局排版的问题,因为多个页签其实占的是一块地... 新建ELEMENT TABStrip,右键tabstrip,插入页签,需要几个加几个... 加 ...
- WDA基础六:字段,表等visiable,enable,read_only控制
今天主要讲一下布局控制:(visiable,enable,read_only) visiable:可见性,控制字段,组件,分组等是否现实在界面上.一般按条件来控制隐藏的可以在CONTEXT NODE里 ...
- 9. Palindrome Number(回文数)C++
将int转换为string,注意for循环判断条件的简化 class Solution { public: bool isPalindrome(int x) { ) return false; str ...