核能来袭--模块

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的更多相关文章

  1. Day5_Py模块_1

    1. time & datetime模块 ----------------------------------------------------------- >>> im ...

  2. day22 模块最后的补充。包。

    前一天内容复习: # def func(): # a # # def main(): # func() # # try: # main() # except: # pass # raise NameE ...

  3. day22 模块-collections,time,random,pickle,shelve等

    一.引入模块的方式: 1. 认识模块 模块可以认为是一个py文件. 模块实际上是我们的py文件运行后的名称空间 导入模块: 1. 判断sys.modules中是否已经导入过该模块 2. 开辟一个内存 ...

  4. day22模块和包

       一.模块 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的代码(. ...

  5. Spider--补充--Re模块_1

    # @ Author : Collin_PXY # 正则表达式: import re # 1,分步写法: # 1)rule.search(string) pattern='各小区' rule=re.c ...

  6. EasyUI基础入门之Easyloader(载入器)

    在了解完easyui的parser(解析器)之后,接下来就是easyloader(简单载入器)的学习了. 什么是EasyLoader 正如其名字一样easyloader的作用是为了动态的载入组件所需的 ...

  7. Spider_知识目录_基础

    知识目录 静态网页抓取 Spider_基础总结1_Request(get/post__url传参_headers_timeout)+Reponse Spider_基础总结2_Requests异常 Sp ...

  8. day22 Pythonpython random随机模块:略!!!本文os模块

    OS模块 用于提供系统级别的操作: os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相 ...

  9. day22、模块-basedir、os、json模块、pickle和正则模块。

    四.正则. re模块: 作用:针对的对象:字符串, 课前引入: 例子一. s='dsdsadsadadsalexdsds's.find('alex') 如何找到字符串内部的alex;?过去学习可使用方 ...

随机推荐

  1. 拒绝采样 Rejection Sampling

    2018-12-09 16:40:30 一.使用Rand7()来生成Rand10() 问题描述: 问题求解: 这个问题字节跳动算法岗面试有问到类似的,有rand6,求rand8,我想了好久,最后给了一 ...

  2. phpstudy2018配置站点后500错误问题

    phpstudy2016没发现这个问题,这是因为新项目要使用laravel,php版本要求7.1,所有换成了2108,但是laravel的项目没问题,原来tp框架的都不能正常访问,最好查看nginx错 ...

  3. C# 读取word2003 并且显示在界面上的方法

    1.新建一个windows窗体程序 2. 引入包WinWordControl.dll 3.添加引用 4.引入组件WinWordControl组件 5.主界面上加入按钮 ,opendialog, win ...

  4. English trip V1 - B 23. Nosy People 爱管闲事的人 Teacher:Parice Key: Be + Ving

    In this lesson you will learn to talk about what happened.  谈论发生什么? 课上内容(Lesson) Nosy  好管闲事Noise  噪声 ...

  5. OnSen UI结合AngularJs打造”美团"APP"逛一逛”页面 --Hybrid App

    1.页面效果图: 演示链接地址:http://www.nxl123.cn/bokeyuan/meiTuanDemo_walk/ 2.核心代码 walk.html: <ons-page id=&q ...

  6. OSPF - 1,基础

    1,OSPF知识点a)在OSPF中,如果是环回口宣告进OSPF,不管宣告时配置的是多少位掩码,路由器收到的都是32位.(EIGRP配了多少位就收到多少位).好处:EIGRP中,在PING包发起时如果在 ...

  7. POJ No.2386 Lake Counting

    题目链接:http://poj.org/problem?id=2386 分析:八联通的则为水洼,我们则需遍历一个单位附近的八个单位并将它们都改成'.',但附近单位可能仍连接着有'W'的区域,这种情况下 ...

  8. web中集成shiro

    Shiro提供了与Web集成的支持,其通过一个ShiroFilter入口来拦截需要安全控制的URL,然后进行相应的控制,ShiroFilter类似于如Strut2/SpringMVC这种web框架的前 ...

  9. c# 操作文本文件

    计算机在最初只支持ASCII编码,但是后来为了支持其他语言中的字符(比如汉字)以及一些特殊字符(比如€),就引入了Unicode字符集.基于Unicode字符集的编码方式有很多,比如UTF-7.UTF ...

  10. Oracle 用户,角色,权限等

    权限管理是 Oracle 系统的精华,不同用户登录到同一数据库中,可能看到不同数量的表,拥有不同的权限.Oracle 的权限分为系统权限和数据对象权限,共一百多种,如果单独对用户授权,很囧,有一些用户 ...