python - 了解装饰器的真正工作原理

标签 python python-3.x decorator

我开始学习装饰器,但我已经遇到了障碍。首先这是我的代码。

 def deco (f):

    def coucou():
        print("this is function{}".format(f))
        return f()
    return coucou

@deco
def salut():
    print("salut")


def hi():
    return salut()

我会尽力用我糟糕的英语解释我的问题。如果我理解的话,事情应该是这样发生的:我执行我的 hi()返回 salut() 的函数因为 salut由装饰器coucou修改将被执行并 coucou返回....... salut() ,我的意思是我期望无限循环,但这并没有发生,我不明白为什么。谁能实际解释一下装饰器是如何工作的?

最佳答案

fcoucousalut未修饰(原始)版本.

关于python - 了解装饰器的真正工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54262938/

相关文章:

python - Python中按住退格键删除多个字符

python - 如何将输入连接到函数

python - QTableWidget像excel一样显示某些小数

Python Pillow 的缩略图方法返回 None

python - 为什么我的装饰器会破坏这个 Flask-Login 端点?

python - 有没有更好的方法来索引数据帧?

python - 如何用零除返回0

Python-bytes() 与 struct.pack()

python - 如何使用 python-decorator 包来装饰类方法?

python - 带有位置参数的函数的装饰器,带有通常命名的参数