我有这个python行类的构造函数,它需要两个点作为参数。问题是我的构造函数只是复制引用。所以self.point0和0指向同一个对象。我不确定如何改变这一点,以便我不只是复制参考文献。 Line类:Python构造函数
def __init__(self, point0, point1):
self.point0 = point0
self.point1 = point1
Point类:
def __init__(self, x, y):
self.x = x
self.y = y
任何特定的原因是什么?......为什么你想要那个而不是指向同一个对象? –
是的,你为什么要它们不同,为什么'copy.copy'不满意? –
按照定义,'Line'和'Point'都可以很容易地重新定义为'namedtuple's。他们将永远不变,也许会强制你喜欢的排他性。 'copy.copy'仍然可以工作,就像创建新的实例一样。 –