python装饰器

一.装饰器

  开放: 对功能扩展开放

  封闭: 对修改代码封闭

  

 通用装饰器语法:

    def wrapper(fn):
        def inner(*args, **kwargs): # 聚合
            在目标函数之前
            ret = fn(*arg, **kwargs) # 打散
            在目标函数之后
            return ret
        return inner

    @wrapper
    def func():
        pass

    func()

  

 带参数的装饰器

    def wrapper_out(参数):
        def wrapper(fn):
            def inner(*args, **kwargs): # 聚合
                在目标函数之前
                ret = fn(*arg, **kwargs) # 打散
                在目标函数之后
                return ret
            return inner
        return wrapper

    @wrapper_out(实参)  # 执行的时候. 先执行函数的调用然后使用返回值和前面的@组合成装饰器语法糖
    def func():
        pass

  

 

 

 

 

 

 

 

 

 

 

 

. 生成器

什么是生成器. 生成器实质就是迭代器. python中有三种方式来获取生成器:

posted @ 2018-12-17 21:52  冰哥泡  阅读(186)  评论(0编辑  收藏  举报