看板 Python 關於我們 聯絡資訊
1.您只是要預設值的意思吧? 2.class屬性跟self屬性,注意不一樣,可看p1.__dict__及dir(p1) =========== class Point: def __init__(self, x=0, y=0): self.x = x self.y = y self.pos=[x,y] def show_xy(self): print(self.x, self.y, self.pos[0], self.pos[1]) ※ 引述《jijuan ()》之銘言: : 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), 來自: 123.193.43.58 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1574169679.A.AB2.html