分配属性值作为python3一个更大的项目的一部分,我需要精神的方法以下(不工作)代码:蟒蛇:按名称
class Qclass:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def increment(Q, var):
eval('Q.{} = Q.{} + 100'.format(var,var))
Q = Qclass(1,2,3)
increment(Q,'a')
print(Q.a)
>>> 101
我需要这个,因为我不不必事先知道Q的哪个属性必须增加。解决方法是为每个属性声明特定的函数并使用某个选择器,但如果可能的话,我宁愿避免这种情况。
有没有一种整洁的方式来做到这一点?
的[?您如何编程设置了一个Python属性(可能的复制http://stackoverflow.com/questions/285061/how-do-you-以编程方式设置属性在python) –