序列
构成:能够被索引取值和切片取值的叫序列
高阶函数
组成:能调用其他函数的函数
map 函数
组成:map(func,*iterable)
作用:处理数据
返回值:map对象
list(map(lambda x:x+1,[1,2,3,4,5]))
map(lambda x,y:(x+1,y+1),[1,2,3,4,5],[2,3])
按最短的来
sorted
组成:sorted(iterable,key=func,reverse=False)
作用:排序
返回值:列表
enumerate 枚举
组成:enumerate(iterable[,start])
作用:按下表的返回值
返回值:enumerate对象
list(enumerate([1,2,3],start=2))
>>>[(2, 1), (3, 2), (4, 3)]
zip 打包
组成:zip(*iterable)
作用:打包函数
返回值:zip对象
list(zip(['a','b'],[1,2])
>>>[('a',1),('b',2)]
*zip解包函数,注意不能单独出现,需和zip一起出现
filter 删选
组成:filter(func,iterable)
作用:筛选数据
返回值:filter对象
list(filter(lambda x:x%2,[1,2,3]))
>>>[1,3]
reduce
组成:reduce(func,iterable[,initial])(是要操作的另外的值)
作用:处理数据
返回值:value
from functools import reduce
reduce(lambda x,y:x+y,range(1,101))
>>>5050
reverse 反序
- reverse(iterable)
几种常见的内建函数:
max(iterable) 求最大值
sum(iterable) 求和
min(iterable) 求最小值
len(iterable) 求长度
round() 四舍五入
注意奇下偶上的问题
装饰器
作用:在不改变原有类的情况下对类进行功能的添加
在实际工作的时候,不能改类
来源:是一种著名的设计模式。被用于有切片需求的场景
语法糖
@修饰符
系统会自动的把下一行的函数名作为参数传递
通用格式
def outer(flag):
def décor(func):
def inner(*args,**kwargs):
if flag:
之前操作的
res=func(*args,**kwargs)
之后要做的
return res
return inner
return decor
@outer(flag)
def fun():
print('a')
解释:真正的装饰器是décor,outer只是为了控制装饰器是否运行的程序
双层装饰器
解释:就是先第一个装饰器装饰玩之后,传递给第二个装饰器
装饰类
解释:相当于把类作为参数传进去
装饰装饰器
解释:就是把装饰器看做函数进行装饰
类作为装饰器
解释:其实就是对象最为装饰器,且把函数作为参数传递给类的对象
相当于调用类里面的call魔术方法
class A:
def __call__(self,args):
self.args=args
return self.inner
def inner(self):
self.args()
@A()
def fun():
print('aaa')