关于python 的 decoration

自定义装饰器 带参数


def decorate(var, p):
    print(var, p, "decorate first line")

    def inner(n):
        print("内部函数", n)

        def two():
            n()
        return two
    return inner

@decorate("你好", "不好")
def find():
    print("find 函数")


find()

# 结果是

#你好 不好 decorate first line
#内部函数 <function find at 0x0000000003C41488>
#find 函数

自定义装饰器不带参数

def decoration(fn):
    print("装饰器")

    def inner():
        fn()
    return inner


@decoration
def say():
    print("say method")


say()

# 结果

#装饰器
#say method

猜你喜欢

转载自blog.csdn.net/weixin_43910988/article/details/88592012