我有這個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'仍然可以工作,就像創建新的實例一樣。 –