Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中如何在循环中保持attr集_Python_Loops_Attr - Fatal编程技术网

在python中如何在循环中保持attr集

在python中如何在循环中保持attr集,python,loops,attr,Python,Loops,Attr,如何使我在循环中设置的属性不受影响 这是我的代码,下面我将解释我的问题: students = Student.find_students() if students: for student in students: student.address="" address = PersonAddress.find_address_by_person(student.person) student.address=address

如何使我在循环中设置的属性不受影响

这是我的代码,下面我将解释我的问题:

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
的值时,地址正确显示(正确的地址,这不是问题),但当代码打印全局变量
student
的值时,没有更多的地址


我必须做些什么才能保留它?

即使在退出循环后,地址数据成员也将被保留

您可以打印学生的变量,而不是您个人的学生

试着用这个代替你的
pprint(vars(students))


您将正确地看到您的地址。

您是否收到错误,或者它只是没有显示预期的输出?您是否看到
address=”“
,或者根本看不到地址?
学生
是否实施了
\uuuuu str\uuuuuuuu
\uuuu repr\uuuuuu
?什么是学生名单?在这种情况下,
vars(students)
应该根本不起作用。这没有任何意义。您想设置一个对象的属性,但将其保留在另一个对象中?Tobias_k:students是一个列表,我认为students的pprint将直接显示该学生的地址,并且通过DevShark的回答,我可以看到正确地保留了该地址。Goyo:这是有道理的,我想给列表中的对象添加一个属性,我必须使用一个列表(而不是一个学生列表和一个地址列表);)哦,好的。。。我想它会直接显示学生的个性。事实上,我用“学生中的s”再次显示了地址。Thx:)没问题。如果答案对您有效,请点击复选标记接受答案。
for s in students:
    pprint(vars(s))