[問題] 類別中使用List的問題
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時
該如何做呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.38.81.156 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1574130011.A.12D.html
推
11/19 10:25,
5年前
, 1F
11/19 10:25, 1F
→
11/19 12:14,
5年前
, 2F
11/19 12:14, 2F
推
11/19 16:56,
5年前
, 3F
11/19 16:56, 3F
→
11/19 16:58,
5年前
, 4F
11/19 16:58, 4F
→
11/19 16:58,
5年前
, 5F
11/19 16:58, 5F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 4 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章