装饰函数的最佳方式是什么,但只能在本地范围内。例如,我们有以下几点:Python:只在本地装饰函数的最佳方法
def a():
do stuff
b()
do stuff
我想打一个功能c()
,做同样的stuff
但装饰B上它增加了一些额外的东西。我发现了一个办法做到这一点,但它改变B()全球:
def c():
global b
b = decorator(b)
a()
有没有办法做到这一点,但没有改变全局函数B?
'b = decorator(b)' - 我认为这覆盖了你的全局函数'b'。也许把它分配给另一个变量就是你要找的东西:'x = decorator(b)'。 – ikkuh
不能是x,因为我想在c()内部有不同的b函数,所以当我在c()内调用()时,a()是不同的,但只有当我在c()中调用它时() – edgarstack