Задать вопрос
@Sairos

Как использовать значение из кортежа в качестве атрибута?

У меня есть класс c множеством атрибутов, и значение каждого из них мне нужно добавить в словарь, после словарь нужно записать в файл json. Так как атрибутов много, то я решил названия атрибутов записать в кортеж и использовать цикл for, но когда я пытаюсь подставить мою переменную в качестве атрибута, то выбрасывается ошибка, помогите, пожалуйста, буду очень благодарен.

60944888a0b39051351539.png

60944892b8160344769950.png

60944899d18bf909410845.png
  • Вопрос задан
  • 77 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
@Alexa2007
class emp: 
    name='Harsh'
    salary='25000'
    def show(self): 
        print (self.name) 
        print (self.salary) 
e1 = emp() 
# Use getattr instead of e1.name 
print (getattr(e1,'name')) 
  
# returns true if object has attribute 
print (hasattr(e1,'name')) 
  
# sets an attribute 
setattr(e1,'height',152) 
  
# returns the value of attribute name height 
print (getattr(e1,'height')) 
  
# delete the attribute 
delattr(emp,'salary')
Ответ написан
Комментировать
MinTnt
@MinTnt
Во первых, у вас не записано, какое значение имеет переменная self.i, так что нужно ещё объявить
for i in hw:
    self.i = i
    ....self.i.text()

Во вторых, зачем применять self к временной переменной, которая существует лишь в цикле. Она нужна будет ещё где-то в коде использоваться?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы