如何在 python 中循环设置 attr
How to keep attr set in a loop in 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
的值时,有没有地址了。
我需要做什么才能保留它?
地址数据成员将被保留,即使在您退出循环后也是如此。
您打印 students
的变量,而不是您自己的 student
。
试试这个而不是你的 pprint (vars(students))
:
for s in students:
pprint(vars(s))
您会看到正确的地址。
我怎样才能将我在循环中设置的属性排除在外?
这是我的代码,接下来我会解释我的问题:
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
的值时,有没有地址了。
我需要做什么才能保留它?
地址数据成员将被保留,即使在您退出循环后也是如此。
您打印 students
的变量,而不是您自己的 student
。
试试这个而不是你的 pprint (vars(students))
:
for s in students:
pprint(vars(s))
您会看到正确的地址。