小编mrm*_*rog的帖子

有人可以向我解释这个python行为吗?

有人可以解释这种行为吗?当我运行代码时,它会打印10,然后是20.为什么list_of_classes要更改,即使我只更改了bob的值?我不应该用新值更新列表吗?

class wooo():
    def __init__(self,x,y,name):
        self.x=x
        self.y=y
        self.name=name

bob=wooo(10,10,"bob")
joe=wooo(10,10,"joe")
list_of_classes=[bob,joe]
print(list_of_classes[0].x)
bob.x=20
print(list_of_classes[0].x)
Run Code Online (Sandbox Code Playgroud)

实际产出

10
20
Run Code Online (Sandbox Code Playgroud)

预期产出

10
10
Run Code Online (Sandbox Code Playgroud)

python

1
推荐指数
1
解决办法
59
查看次数

标签 统计

python ×1