迭代一组类实例

2024-05-28 20:46:07 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我们有一个班上的男孩:

class Boy():

def __init__(self, name, hair, friend=None):
    self.name = name
    self.hair = hair
    self.friend = friend

我们有这个类的一些实例,我们想迭代它,并在迭代时更改这些实例的属性。 例如:

ben = Boy("Ben", "red")
sam = Boy("Sam", "black")
roger = Boy("Roger", "yellow", sam)
boys = {ben, sam}
for boy in boys:
    boy = roger.friend

上述方法仅更改指针“boy”的属性,而不更改集合中的实例。最好的方法是什么


Tags: 实例方法nameselffriend属性samclass
1条回答
网友
1楼 · 发布于 2024-05-28 20:46:07

用于更改集合中元素的属性

下面的代码将罗杰朋友的裁判指定给男孩的裁判 事实上,这没什么作用

for boy in boys:
    boy = roger.friend

下面是迭代更改集合中元素属性的方法

for boy in boys:
    boy.hair = 'green'
    boy.friend = roger

# Check results
for boy in boys:
    print('  ')
    print(boy.name)
    print(boy.hair)
    print(boy.friend.name)

相关问题 更多 >

    热门问题