В рамках крупного проекта в 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
мне это нужно, потому что я не» t иметь предварительные знания, по которым должен быть увеличен атрибут Q. Решение было бы объявить конкретные функции для каждого атрибута и использовать какой-то селектор, но я предпочел бы избежать этого, если это возможно.
Есть ли опрятный способ сделать это?
Возможный дубликат [Как вы программно установить атрибут в Python] (http://stackoverflow.com/questions/285061/how-do-you- programatically-set-an-attribute-in-python) –