如何在python中保持attr设置在循环中

2024-09-28 22:30:33 发布

您现在位置: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的值时,就没有地址了。你知道吗

我要怎么做才能保住它?你知道吗


Tags: 代码inforif属性address地址vars
1条回答
网友
1楼 · 发布于 2024-09-28 22:30:33

地址数据成员将被保留,即使在您退出循环之后也是如此。你知道吗

打印的是students的变量,而不是单个的student。你知道吗

试试这个而不是你的pprint (vars(students))

for s in students:
    pprint(vars(s))

你将正确地看到你的地址。你知道吗

相关问题 更多 >