-1
元のオブジェクトが変更されたときに変更されないPythonクラスオブジェクトのコピーを作成したいと思います。私はB = Aを設定すると、これはちょうどこのため、オブジェクトAにBポイントを意味し、私はAを変更したときにそれは同様にBを変更し、私の理解から、Pythonでオブジェクトインスタンスのコピーを作成する
class counterObject:
def __init__(self):
self.Value = 0
def incrementValue(self):
self.Value += 1
def printValue(self):
print(self.Value)
A = counterObject()
A.incrementValue()
A.printValue() #Prints 1
B = A
A.incrementValue()
B.printValue() #Currently prints 2. Want to be 1
:ここに私の簡単な実施例です。代わりにAと同じプロパティを持つBを新しいインスタンスにすることはできますが、Aを変更すると変更されませんか?上記の例では、Aを増やすとBの値が1にとどまります。
AとBがオブジェクトではなくリストであれば、私はB = list(A)と書くでしょう。私はクラスオブジェクトのための同様のメソッドがあるかどうか尋ねていると思いますか?
ありがとうございました!
それはあなたがシングルトンをしたいよう... –
Pythonはあなたがカバーして聞こえる:Pythonのドキュメントから: https://docs.python.org/2 /library/copy.html – DaOnlyOwner