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("糯米饭")

  

猜你喜欢

转载自www.cnblogs.com/work14/p/10187663.html
今日推荐