class Point:
x = 0
y = 0
pos = [0, 0]
def __init__(self, x, y):
self.x = x
self.y = y
self.pos[0] = x
self.pos[1] = y
def show_xy(self):
print(self.x, self.y, self.pos[0], self.pos[1])
p1 = Point(1, 2)
p2 = Point(3, 4)
p1.show_xy()
p2.show_xy()
輸出結果是
1 2 3 4
3 4 3 4
雖然p1、p2是兩個不同的實體
所以不是各自都有一份屬於自己的x、y和pos嗎
可是p1中的pos卻是建立p2時賦予的值
但xy卻又沒變
請問這是什麼原因
如果需求是希望每個一實體都有一份自己獨立的pos時
該如何做呢?