我是Python的新手,我有一个包含很多变量的类,如下所示:
class trash:
def __init__(self):
self.var1=1
self.var2=1
self.var3=1
...
def replaceByTwo(self, var_name)
self.eval(var_name) = 2
但是当我致电replaceByTwo时,我收到了以下消息:
AttributeError: 'trash' object has no attribute 'eval'
有谁知道如何解决这个问题?谢谢!
eval
是内置的,不是Python类的默认方法。但是,您要寻找的是setattr
:
def replaceByTwo(self, var_name):
setattr(self, var_name, 2)
审判:
>>> t = trash()
>>> print(t.var2)
1
>>> t.replaceByTwo('var2')
>>> print(t.var2)
2
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句