我正在研究装饰工,我已经遇到了障碍。首先是我的代码。
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
,并且{{ 1}}返回....... coucou
,我的意思是我期望一个无限循环,但是那不会发生,我也不明白为什么。谁能真正解释装饰器的工作原理?
答案 0 :(得分:2)
xSolvpa = vpa(xSol)
ySolvpa = vpa(ySol)
fplot(xSolvpa,[-2.1 1.5])
hold on
fplot(t,ySolvpa,[-2.1 1.5])
中的f
是coucou
的未经修饰的(原始)版本。