Python模块(一)(常用模块)

1. 简单了解模块

     写的每一个py文件都是一个模块.

    还有一些我们一直在使用的模块

    buildins 内置模块. print, input

    random 主要是和随机相关的内容

        random()    随机小数

        uninform(a,b) 随机小数

        randint(a,b)  随机整数

        choice() 随机选择一个

        sample() 随机选择多个

        shuffle() 打乱

 

2. Collections

    1. Counter 计数器

    2. defaultdict 默认值字典

    3. OrderedDict 有序字典

    数据结构(队列, 栈)

        栈:先进后出

            Stack

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 StackFullException("拿空了")
        self.top -= 1
        el = self.lst[self.top]
        return el

s = Stack(4)

s.push("")
s.push("")
s.push("")
s.push("")

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

        队列: 先进先出

         Queue

import queue
q = queue.Queue()
q.put("李嘉诚1")
q.put("李嘉诚2")
q.put("李嘉诚3")
q.put("李嘉诚4")
q.put("李嘉诚5")

print(q.get())
print(q.get())
print(q.get())
print(q.get())
print(q.get())

 

3. Time模块

    时间有三种:

        结构化时间 gmtime() localtime()

        时间戳  time.time()  time.mktime()

        格式化时间 time.strftime() time.strptime()

        时间转化:

            数字 -> 字符串

            struct_time = time.localtime(数字)

            str = time.strftime("格式", struct_time)

import time
a = 32536799999
t = time.localtime(a)
s = time.strftime("%Y-%m-%d %H:%M:%S",t)
print(s)

            字符串 -> 数字

            struct_time = time.strptime(字符串, "格式")

            num = time.mktime(struct_time)

strt = input("请输入一个时间")
t = time.strptime(strt,"%Y-%m-%d %H:%M:%S")
a = time.mktime(t)
print(a)

4. functools

    wraps   给装饰器中的inner改名字

    reduce  归纳.

    偏函数   把函数的参数固定.

posted @ 2018-12-26 21:02  吾有一剑  阅读(287)  评论(1编辑  收藏  举报