Как сохранить атрибут в цикле в 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))

Вы увидите свои адреса правильно.

Другие вопросы по тегам