functools
# 回忆装饰器 from functools import wraps # 可以改变一个函数的名字, 注释... def wrapper(fn): @wraps(fn) # 把inner的名字改变成原来的func def inner(*args, **kwargs): print("前") ret = fn(*args, **kwargs) print("后") return ret return inner # # @wrapper # func = wrapper(func) # def func(): # print('哈哈哈') # # print(func.__name__) # func # map 映射 reduce 归纳 # print(list(map(lambda x: x**2, [i for i in range(10)]))) # from functools import reduce # # def func(a, b): # return a + b # 0+1 +4 +7+2+5+8+3+6+9 # 累加 # # # 会把我们每一个数据交给func去执行, 把默认值作为第一个参数传递给函数 # # 第二个参数就是你这个序列中的第一个数据 # # 接下来. 把刚才返回的结果作为第一个参数传递个a # # 继续吧刚才的结果给第一个参数. 把第三个数据传递给b # ret = reduce(func, [1,4,7,2,5,8,3,6,9]) # # 工作流程 # # func(func(func(0, 1),4),7) # # print(ret) # # print(reduce(lambda x, y:x + y, [i for i in range(101)])) from functools import partial def chi(zhushi, fushi): print(zhushi, fushi) # 固定函数中某些参数的值 chi2 = partial(chi, fushi="辣鸡爪") # chi2("大米饭") # chi2("小米饭") # chi2("黑米饭") # chi2("黄米饭") # chi2("紫米饭") # chi2("糯米饭")