【发布时间】:2020-07-23 19:21:00
【问题描述】:
如何在 python 中实现装饰器并在 Python 类中使用它,例如在类方法之一上,以便它可以在运行时修改类变量(结果)?在代码中,当 do_something 被调用并完成运行时,装饰器应该将内容添加到结果字典中
import mydecorator
class foo:
def __init__(self):
self.results = {}
@mydecorator
def do_something():
# do something
【问题讨论】:
-
到底是什么问题?你有没有尝试过,做过任何研究?
-
基本上我想为我的类方法计时并将时间保存在一个绑定到类的变量中,这样一旦我调用任何类方法我就可以访问它。我可以编写一个装饰器来打印时间,但我不知道如何将时间附加到类变量中。我做了研究,但我得到的只是如何打印时间或如何访问我的装饰器中的类变量,我的问题是如何通过装饰器更新类状态
-
那不是类方法,也不是类变量。那是一个 instance 方法和一个 instance 变量。无论如何,究竟是什么不起作用?请确切地展示您当前的方法以及它如何不起作用。