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时
: 该如何做呢?