Re: [問題] 類別中使用List的問題

作者: poototo (poototo)   2019-11-19 21:21:16
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時
: 該如何做呢?

Links booklink

Contact Us: admin [ a t ] ucptt.com