• 装饰器的修复wraps,偏函数partial 以及chain


    将被装饰的函数的一些属性值赋值给 装饰器函数,最终让属性的显示更符合我们的直觉。



    from
    functools import wraps def wapper(func): @wraps(func) # 帮助我们设置函数的元信息 def inner(*args, **kwargs): return func(*args, **kwargs) return inner @wapper def f1(): pass @wapper def f2(): pass print(f1.__name__) #不加wraps装饰器修复,__name__都为inner print(f2.__name__) #加上wraps修复后还是原来函数的信息

    偏函数

    from functools import partial
    
    
    # 偏函数
    def foo(a1, a2):
        print(a1, a2)
    
    
    # 相当于给函数foo默认传递了一个参数,再次调用时不必再传这个函数
    new_func = partial(foo, 1)
    new_func(2)
    
    # 1 2

    chain

    from itertools import chain
    
    
    # chain的作用就是链接
    def v1(x):
        return x
    
    
    v2 = [44, 55, 66]
    
    foo = chain([v1], v2)  # 参数必须是可迭代对象
    print(type(foo))  # <class 'itertools.chain'>
    for item in foo:
        if callable(item):
            print(item(1))
        else:
            print(item)
        # 1
        # 44
        # 55
        # 66
  • 相关阅读:
    Ionic开发手机App常用的软件
    Windows的Ionic环境配置
    百度静态资源公共库
    我的程序员之路
    angular.bind
    响应式布局之使用bootstrap
    初识bootstrap
    使用css3实现响应式布局
    mysql-阅读笔记1
    mysql优化
  • 原文地址:https://www.cnblogs.com/zhoujunhao/p/8617817.html
Copyright © 2020-2023  润新知