Re: [问题] 类别中使用List的问题

楼主: TuCH (谬客)   2019-11-19 17:03:43
可以改成这样
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
@property
def pos(self):
return [self.x, self.y]
可以避免产生资料不同步的问题
※ 引述《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