Pythonでの操作子の重荷重用法の分析


本論文の例は、Pythonにおけるオペレータの再負荷の使い方を説明する。皆さんに参考にしてあげます。具体的には以下の通りです。
クラスはpythonの操作を再ロードできます。
オペレータが私たちのオブジェクトを内蔵しているのと同じように積載します。X_の名前の方法は特殊なフックで、pythonはこの特殊な名前で操作子をブロックして、重荷重を実現します。pythonはオペレータを計算する時に自動的にこのような方法を呼び出します。例えば、
対象が__u uを継承したらadd_.この方法は+式に現れたときに呼び出されます。リロードにより、ユーザー定義のオブジェクトは内蔵されているようになります。
クラスにオペレータをリロードする
1、操作子を重載し、クラスが標準のpythonを遮断できるようにする。
2、クラスはすべてのpythonの表式オペレータをリロードすることができます。
3、クラスは対象の操作を積載することができます。print、関数呼び出し、限定などです。
4、リロードにより、クラスのインスタンスが内蔵されているように見えます。
5、リロードは特別なネーミングの種類の方法で実現されます。
メソッド名        リロードの操作説明        式を呼び出す
同前init_    構造関数        作成対象:クラス()
同前del_        コンストラクタ        対象を釈放する時
同前add_.        “+”            x+y
同前or_        “|”            x|y
同前プレス.    印刷、変換        print x、`x`
同前コールバック    関数の呼び出し        X()
同前getattr    属性の参照        x.undefined
同前getitem_u u    索引            x[key],forサイクル,inテスト
同前setitem    索引の割り当て        x[key]=value
同前get slice_u    映画を分ける            x[low:high]
同前len_        長さ            len(x)
同前cmp_        比較            x==Y,x同前ラドドドドド.    右の操作符「+」        実例ではない+x
例:
同前getitem_u uすべてのインデックス操作をブロックしました。

>>> class indexer:
def __getitem__(self,index):
return index ** 2
>>> x = indexer()
>>> for i in range(5):
print x[i]  #x[i]   __getitem__(x,i)
0
1
4
9
16

Pythonに関する詳細については、当駅のテーマを見ることができます。「Python正則表現の使い方のまとめ」、「Pythonデータ構造とアルゴリズム教程」、「Python Socketプログラミング技術のまとめ」、「Python関数使用テクニックのまとめ」、「Python文字列操作テクニックのまとめ」、「Python入門と階段の経典教程」および「Pythonファイルとディレクトリ操作の概要
ここで述べたように、皆様のPythonプログラムの設計に役に立ちます。