Как сохранить атрибут в цикле в Python
Как я могу сохранить атрибут, который я установил в цикле?
Вот мой код, и я объясню свою проблему следующим:
students = Student.find_students()
if students:
for student in students:
student.address=""
address = PersonAddress.find_address_by_person(student.person)
student.address=address
pprint (vars(student))
pprint (vars(students))
когда я печатаю значение student
адрес правильно отображается (и правильный адрес, это не проблема), но когда код выводит значение глобальной переменной students
больше нет адреса
Что я должен сделать, чтобы сохранить это?
1 ответ
Решение
Адрес данных участника будет сохранен даже после выхода из вашего цикла.
Вы распечатываете students
а не твоя личность student
,
Попробуйте это вместо вашего pprint (vars(students))
:
for s in students:
pprint(vars(s))
Вы увидите свои адреса правильно.