ホームページ >バックエンド開発 >Python チュートリアル >Python の __contains__() 関数を使用してオブジェクトの包含操作を定義する
Python の __contains__() 関数を使用して、オブジェクトの包含操作を定義します。
Python は、さまざまな種類のオブジェクトを処理するための多くの強力な機能を提供する、簡潔で強力なプログラミング言語です。データ。その 1 つは、__contains__() 関数を定義してオブジェクトの包含操作を実装することです。この記事では、__contains__() 関数を使用してオブジェクトの包含操作を定義する方法とサンプル コードを紹介します。
__contains__() 関数は Python の組み込み関数の 1 つで、包含演算子「in」の動作を定義するために使用されます。 「in」を使用してオブジェクトに要素が含まれているかどうかを確認する場合、Python はオブジェクト内で定義された __contains__() 関数を探し、この関数を呼び出して包含操作を実行します。 __contains__() 関数の基本構文は以下のとおりです。
def __contains__(self, item): # 包含操作的逻辑代码 pass
このうち、self はオブジェクトそのものを指し、item は含まれるかどうかを判定する必要がある要素です。 __contains__() 関数にロジック コードを記述して、オブジェクトに指定された要素が含まれているかどうかを判断できます。含まれている場合は True を返し、含まれていない場合は False を返します。
次に、サンプル コードを使用して、__contains__() 関数を使用してオブジェクトの包含操作を定義する方法を示します。 Person という名前のオブジェクトがあり、その中には友人の名前を保存するために使用される friends という名前のリストが含まれているとします。私たちは、人がオブジェクトの友人であるかどうかを判断することによって封じ込め操作を実装したいと考えています。サンプル コードは次のとおりです。
class Person: def __init__(self, name, friends): self.name = name self.friends = friends def __contains__(self, name): return name in self.friends p1 = Person("Alice", ["Bob", "Charlie", "David"]) print("Bob" in p1) # 输出True print("Emily" in p1) # 输出False
上記のサンプル コードでは、Person という名前のクラスを定義し、__init__() 関数を通じてオブジェクトの名前とフレンド リストを初期化します。次に、__contains__() 関数で「in」演算子を使用して、指定された名前がフレンド リストに含まれているかどうかを判断します。そうである場合は True を返し、そうでない場合は False を返します。
次に、p1 という名前の Person オブジェクトを作成します。その友人リストには「Bob」、「Charlie」、「David」が含まれます。次に、「in」演算子を使用して、「Bob」と「Emily」が p1 オブジェクトの友人であるかどうかを判断します。 「ボブ」はフレンドリストに含まれているため、最初の判定出力は True となり、「エミリー」はフレンドリストに含まれていないため、2 回目の判定出力は False となります。
__contains__() 関数を使用してオブジェクトの包含操作を定義すると、カスタム ロジックを簡単に実装できます。 __contains__() 関数には、オブジェクトのニーズに応じてさまざまな判定条件を実装することができ、オブジェクトに特定の要素が含まれているかどうかを柔軟に判定できます。
要約すると、この記事では、Python の __contains__() 関数を使用してオブジェクトの包含操作を定義する方法を紹介します。サンプルコードのデモを通じて、__contains__() 関数を使用することで、オブジェクトの包含判定を簡単かつ柔軟に実装できることがわかります。この記事の紹介を通じて、読者が Python の __contains__() 関数をより深く理解し、応用できることを願っています。
以上がPython の __contains__() 関数を使用してオブジェクトの包含操作を定義するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。