python functiontools_python--内置常用模块(一) collections 队列 time模块 functiontools

本文介绍了Python中的collections模块,包括Counter、deque、namedtuple和OrderedDict的用法。接着讲解了time模块的时间类型,如时间戳、结构化时间和格式化时间的转换。最后探讨了functools模块,提到了wraps、reduce和partial的功能及应用实例。
摘要由CSDN通过智能技术生成

一. 模块的简单认识

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

1.import模块

2.from xxx import 模块

二. collections模块

collections模块主要封装了一些关于集合类的相关操作.比如,terable,Iterator等等.除了这些意外,collections还提供了一些除了基本数据类型以外的数据集合类型.Counter,deque,OrderDict,defaultdict以及namedtuple

1. Counter

counter是一个计数器,主要用来计数

from collections import Counter

print(Counter("哈哈哈你还好啊")) # 计算一个字符串中字符出现的个数 Counter({'哈': 3, '你': 1, '还': 1, '好': 1, '啊': 1})

lst = ["jay","jay","jay","哈哈","你好"]

dic = {"a":"你好","b":"你好","c":"真的好"}

l = Counter(lst)

c = Counter(dic.values())

print(l) # Counter({'jay': 3, '哈哈': 1, '你好': 1})

print(c) # Counter({'你好': 2, '真的好': 1})

2. deque 双向队列

1.先介绍两种数据结构 1.栈 2.队列

1.栈: FILO. 先进后出

2.队列:FIFO.先进先出

python中并没有给出Stack模块,所以我们写一个大概意思(这个版本有非常严重的并发问题,仅供粗略观看)

栈:

class StackFullException(Exception):

pass

class StackEmptyExcepiton(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<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值