装饰器

2018-06-17  本文已影响0人  小白快加油

装饰器通常把函数替换成另一个函数

#装饰器通常把函数替换成另一个函数

def deco(func):
    def inner():
        print("runnning inner()")
    return inner #deco返回inner函数对象 

@deco #使用deco装饰target
def target():
    print('running target()')

target() #调用被装饰的target其实会运行inner
print(target) #审查对象,发现target现在是inner的引用
# runnning inner()
# <function deco.<locals>.inner at 0x0000000002895AE8>

装饰器的一大特性,能把被装饰的函数替换成其他函数。特性二,装饰器在加载模块时立即执行

上一篇 下一篇

猜你喜欢

热点阅读