【发布时间】:2015-11-09 08:22:20
【问题描述】:
我在使用动态生成的方法共享类成员时遇到问题。
例如,从__init__ 和normal_test 访问的x 与从动态有界方法test 和setx 访问的x 不同:
class Foo:
def __init__(self):
self.x = 10
def normal_test(self):
print self.x
def bar(self):
print self.x
def setx_method(self,x):
self.x = x
setattr(Foo, "test", classmethod(bar))
setattr(Foo, "setx", classmethod(setx_method))
f = Foo();
f.setx(5)
f.test()
f.normal_test()
我应该如何编写代码以使self.x 引用相同的x?
【问题讨论】:
标签: python reflection metaprogramming