【发布时间】:2021-09-28 16:49:00
【问题描述】:
假设你有一个装饰器,它接受一个参数作为输入decor(N)。
此装饰器用于装饰模块内的方法funcs.py
# funcs.py
@decor(N=10)
def testMethod():
# do something
return something
这个 funcs.py 模块现在被导入到 main.py 中,其中调用了 testMethod。
# main.py
import funcs as funcs
funcs.testMethod()
问题:如何从 `main.py' 更改 N?
我的尝试是将N 设置为funcs.py 的属性,但是当我尝试在main.py 中更改此属性funcs.N = 20 时,funcs.testMethod 使用N=10 运行。
【问题讨论】:
-
不是真的,因为我一直在寻找一种方法来改变装饰器的参数,而不用在我的 testMethod 参数中传递它。无论如何,我以另一种方式工作。我将在下面发布它作为答案。非常感谢