class TestClass(object):
def __init__(self):
self.value = 100
self.x = lambda: self.value.__add__(100)
self.run()
def run(self):
self.x()
print self.value
t = TestClass()
#Output: 100
我希望能够定义一个 lambda 函数,例如 TestClass 中的那个,并让它改变一个实例变量。似乎 lambda 的构造方式意味着它不会修改原始值。我怀疑这与我或多或少理解的 Python 参考策略有关。
所以接受我所做的缺陷,有没有类似的方法来获得类似的功能?我最终需要定义许多方法,例如x
并打算将它们保存在字典中,因为它们将形成一个简单的指令集。据我所知,我需要使用lambda
s 或exec
做我想做的事。