Pythonのマジックメソッド__reduceの__()マジカル

、__減らす__()の紹介

拡張タイプ(PythonのC言語のAPI実装の使用のすなわちタイプ)を定義するとき、あなたがそれらをピクルスにしたい場合、あなたはそれらをpickle化する方法はPythonを伝える必要があります。 __reduce__  定義された後、オブジェクトはピクルスが呼び出されますされている場合。それはどちらかのグローバル名を表す文字列を返しますが、Pyhtonはそれを見つけると漬物、またはタプルを返します。呼び出し可能に使用されるパラメータ要素、;に渡されたオブジェクトを再構成するための呼び出しが呼び出し可能オブジェクト、:タプルを含む、2-5要素を含む  __setstate__  生成するステップと、状態(オプション)このリスト内の要素は、ピックル(オプション)繰り返され、反復子は、辞書の要素はピクルス(オプション)である生成します

第二に、ユースケース

クラスてServerError(UserWarning):
     #1 UserWarningユーザコードが警告発生
    DEFのエラー(自己):
        文字列ピクルスにC言語インターフェース、エラー情報を
        戻りセルフ__reduce__()[1。] 

#1 戻る(<クラス__main__ .ServerError '>、('エラー「))、セクションを採取した1つの。

DEFのINSTANCE_NAME(名):
     試してみるIF  ないでisinstance(名前、STR):
             昇給てServerError(" nameは文字列でなければなりません" を除き、E ASてServerErrorを:
        エラー = e.Error()[0]
         印刷(エラー)

INSTANCE_NAME(123 #1 アクションである:エラーメッセージをカスタマイズすることができ、組成物は、フロントエンドJSON形式に戻ります

 

おすすめ

転載: www.cnblogs.com/angelyan/p/11079267.html