copy
ドキュメントから:
クラスは、ピクルスを制御するために使用するのと同じインターフェースを使用して、コピーを制御できます。
[...]
クラスが独自のコピー実装を定義するために、特別なメソッド
__copy__()
と__deepcopy__()
それで、それはどれですか?__setstate__()
そしてそれはピクルスにするときに使用されます__getstate__()
、または?__copy__()
__deepcopy__()
copy
ドキュメントから:
クラスは、ピクルスを制御するために使用するのと同じインターフェースを使用して、コピーを制御できます。
[...]
クラスが独自のコピー実装を定義するために、特別なメソッド
__copy__()
と__deepcopy__()
それで、それはどれですか?__setstate__()
そしてそれはピクルスにするときに使用されます__getstate__()
、または?__copy__()
__deepcopy__()
それは次のように機能します:クラスが定義する場合__copy__
、それは目的のために優先されcopy.copy
ます(そして同様に目的のため__deepcopy__
に優先されcopy.deepcopy
ます)。これらの非常に特殊な特別なメソッドが定義されていない場合は、ピクルスとアンピクルと同じメカニズムがテストされます(これには、およびが含まれますが、これらに限定されません__getstate__
。__setstate__
これについては、私の著書「Python in aNutshell」で詳しく説明しています( @ilfaraoneは部分的にしか引用していません)。
__setstate__()
および__getstate__()
。
コピードキュメントには、同じインターフェイスを使用できると記載されていますが、必ずしもそうしているとは限りません。
一言で言えばPythonからのこの抜粋、またはPythonメーリングリストのこの説明を参照してください。