ホームページ  >  記事  >  バックエンド開発  >  Python 特殊クラス メソッドの使用に関するサンプル チュートリアル

Python 特殊クラス メソッドの使用に関するサンプル チュートリアル

零下一度
零下一度オリジナル
2017-05-23 14:53:021748ブラウズ

再び例について話します。今回は Python の特別なクラスのメソッドの使用に関するチュートリアルの例について話します。

1.__getitem__特殊なメソッド

1 >>> map = {'name':'c小加'}
2 >>> map.__getitem__("name")
3 'c\xe5\xb0\x8f\xe5\x8a\xa0'

は辞書にリダイレクトし、辞書の値を返すだけです
2 . __setitem__特殊なメソッド

 >>> map = {'name':'c小加'}
2 >>> map.__setitem__('monaker','队花')
3 >>> map
4 {'monaker': '\xe9\x98\x9f\xe8\x8a\xb1', 'name': 'c\xe5\xb0\x8f\xe5\x8a\xa0'}

mapは、C. Xiaojiaが可能な限りチームスターのふりをしているのと同じように、実際には可能な限り辞書のふりをするクラスです。男性です。

 >>> map['monaker'] = '队花'
 >>> map
{'monaker': '\xe9\x98\x9f\xe8\x8a\xb1', 'name': 'c\xe5\xb0\x8f\xe5\x8a\xa0'} 
这个看上去像个正常的字典语法,这行代码实际上暗自调用了map.__setitem__('monaker','队花')

クラス内の __setitem__ メソッドのオーバーライドは、親クラスのメソッドと同じ形式で厳密に定義されています。パラメータの名前は重要ではなく、番号だけが重要です。同時に、親クラスを直接呼び出す場合、__setitem__ はありませんが、Python はメソッドを呼び出しているクラスが見つかるまで親クラス ツリーに沿って進みます。
3 .__repr__は、repr(instance)が呼び出されたときに呼び出される専用のメソッドです。代表者 function は、オブジェクトの文字列表現を返す組み込み関数です。クラスのインスタンスだけでなく、あらゆるオブジェクトで使用できます。あなたはすでに担当者に返信しています 知らなくてもかなり馴染みのあるもの。対話型ウィンドウで変数名だけを入力して Enter キーを押すと、Python は repr を使用します。 変数の値を表示します。いくつかのデータを含む辞書 d を作成し、print repr(d) を使用して調べます。

4.__cmp__はクラスインスタンスを比較するときに呼び出されます。一般に、== を使用すると、任意の 2 つの Python オブジェクトを比較できます。 クラスインスタンスだけでなくオブジェクトも。組み込みデータ型が等しいとみなされる場合を定義するルールがいくつかあります。たとえば、すべて同じキーと値を持つ辞書は等しいと見なされます。クラスインスタンスの場合は定義できます __cmp__ メソッドを使用する場合は、独自の比較ロジックを記述します。その後、 == を使用してクラスを比較できます。Python は、__cmp__ 特別なメソッドを呼び出します。
5.__len__は、len(instance)が呼び出されたときに呼び出されます。 len は、オブジェクトの長さを返す組み込み関数です。適切な長さがあると考えられるあらゆるオブジェクトに使用できます。弦 len は文字数、辞書の len はキーワードの数、リストまたはシーケンスの len は要素の数です。クラスインスタンスの場合は、__len__ を定義します。 メソッドを作成し、独自の長さの計算を記述して len(instance) を呼び出すと、Python が __len__ 特別なメソッドを呼び出します。
6.__delitem__ delinstance[key]が呼び出されたときに呼び出され、辞書から単一の要素を削除するメソッドとして覚えておくとよいでしょう。クラス インスタンスで del を使用すると、Python は __delitem__ プライベート メソッドを呼び出します。

プライベート メソッドとは、__setitem__ メソッドを定義することで、任意のクラスが辞書のようにキーと値のペアを保持できることを意味します。定義することで、どのクラスもシーケンスのように動作できます。 __getitem__ メソッド。 __cmp__ メソッドを定義するクラスは、== を使用して比較できます。クラスに長さのようなものがあるように見える場合は、定義しないでください GetLength メソッドの代わりに __len__ メソッドを定義し、len(instance) を使用します。

【関連する推奨事項】

1. Python の特殊関数 __len__(self) について詳しく学ぶ

2. マスターすべきヒント - Python lenの例の詳細な説明

3. Pythonのlen()関数の使用例のまとめ

4. Pythonのマジックメソッド__getitem__、 __setitem__ 、 __delitem__ 、 __len__ がそれぞれ導入されました

以上がPython 特殊クラス メソッドの使用に関するサンプル チュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。