python之模块

一.模块的简单认识

    什么是模块. 模块就是我们把装有特定功能的代码进行归类的结果. 从代码编写的单位来看我们的程序, 从小到大的顺序: 一条代码 < 语句句块 < 代码块(函数, 类) < 模块. 我们目前写的所有的py文件都是模块.

二.常用模块

  1.random模块

  2.cllections模块

  3.time模块

  4.os模块

  5.sys模块  

random模块

(1)random  随机小数0-1  (2)randint  随机整数  (3)uniform 随机小数  

(4)shuffle  打乱顺序    (5)choice   随机选一个 (6)sample  随机选多个

import random
# print(random.randint(1,20))  #整数随机数

# print(random.random())    #python中所有随机数的根  随机小数0-1

# print(random.uniform(1,2)) #随机小数

lst =['1','2','3','4','5']
# random.shuffle(lst) #列表打乱顺序
# print(lst)

print(random.choice(['1','2','3','4','5'])) # 列表中随机选一个

print(random.sample(['1','2','3','4','5'],3))   #列表中随机取几个

collection模块

1.Counter  迭代后计数

from collections import Counter
Counter({'宝': 3, '今': 1, '年': 1, '特': 1, '别': 1, '喜': 1, '欢': 1, '王': 1, '强': 1})
print(Counter('宝宝今年特别喜欢王宝强'))
COunter() 迭代后计数

lst =['1','1','1','2','3','4','4','5','4']
print(Counter(lst)) #Counter({'1': 3, '4': 3, '2': 1, '3': 1, '5': 1})
c = Counter(lst)
print(c.get('1'))

2.defaultdict  默认值字典

from collections import defaultdict

# 默认值字典
dd = defaultdict(lambda: '机器人') # callable 可调用的, 字典是空的

print(dd["大雄"]) # 从字典向外拿数据. 字典是空的. key:callable()
print(dd["宝宝"]) # 这里的[] 和get()不是一回事儿
print(dd)

3,OrderedDict 有序字典

from collections import OrderedDict
dic = OrderedDict()  # 有序字典
dic["b"] = "哈哈"
dic['a'] = "呵呵"
print(dic)
#OrderedDict([('b', '哈哈'), ('a', '呵呵')])

数据结构(队列,栈)

 

栈   特点,先进后出

class StackFullException(Exception):
    pass
class StackEmptyException(Exception):
    pass
class Stack:
    def __init__(self,size):
        self.size = size
        self.lst=[]  #存放数据的列表
        self.top=0    #栈顶指针

    #入栈
    def push(self,el):
        if self.top >= self.size:
            raise StackFullException('满了')
        self.lst.insert(self.top,el)  #放元素
        self.top +=1  #栈顶指针往上走一位

    #出栈
    def pop(self):
        if self.top == 0:
            raise StackEmptyException ('空了')
        self.top -= 1
        el = self.lst[self.top]
        return el
s= Stack(6)
s.push('1')
s.push('2')
s.push('3')
s.push('4')
s.push('5')
s.push('6')


s.pop()
s.pop()
s.pop()
s.pop()
s.pop()
s.pop()

 队列  先进的先出

import queue
q=queue.Queue()
q.put('1')
q.put('2')
q.put('3')
q.put('4')
q.put('5')

print(q.get()) #1
print(q.get()) #2
print(q.get()) #3
print(q.get()) #4
print(q.get()) #5

  双向队列

from collections import deque

d = deque() # 创建双向队列
d.append("宝宝") #  在右侧添加
d.append("no")
d.append("way")
d.append("哈哈")
d.appendleft("娃哈哈") # 在左边添加
d.appendleft("爽歪歪")
d.appendleft("优酸乳")

print(d.pop()) # 从右边拿数据
print(d.pop()) # 从右边拿数据
print(d.pop()) # 从右边拿数据
print(d.pop()) # 从右边拿数据
print(d.popleft()) # 从左边拿数据
print(d.popleft()) # 从左边拿数据
print(d.popleft()) # 从左边拿数据

time模块

 

  

 

 

 

  

 

  .

 

posted @ 2018-12-26 19:48  QV  阅读(230)  评论(0编辑  收藏  举报