これらの方法はピクルス/アンピクルス用であり、reduce組み込み関数とは関係がないことを理解していますが、2つの違いは何ですか?なぜ両方が必要なのですか?
9552 次
2 に答える
31
ドキュメントによると
提供されている場合、ピクルス時
__reduce__()
に引数なしで呼び出され、文字列またはタプルのいずれかを返す必要があります。
一方で、
を実装するときに、プロトコルのバージョンを知っておくと便利な場合があります
__reduce__
。__reduce_ex__
これは、の代わりに という名前のメソッドを実装することで実行できます__reduce__
。__reduce_ex__
、存在する場合は、優先的に呼び出されます (下位互換性を__reduce__
提供することもできます )。__reduce__
この__reduce_ex__
メソッドは、プロトコルバージョンという単一の整数引数を使用して呼び出されます。
握りしめている手で、Guidoはこれがきれいにされることができる領域であると言います。
于 2008-09-29T19:41:37.243 に答える
9
__reduce_ex__
ある__reduce__
べきだったが、決してならないものです。 __reduce_ex__
のように動作__reduce__
しますが、pickleプロトコルが渡されます。
于 2008-09-29T19:42:58.537 に答える