ホームページ  >  記事  >  バックエンド開発  >  Python プログラムは string == 演算子と __eq__() メソッドを区別します

Python プログラムは string == 演算子と __eq__() メソッドを区別します

WBOY
WBOY転載
2023-09-22 15:13:021029ブラウズ

Python プログラムは string == 演算子と __eq__() メソッドを区別します

Python では、文字列を操作するときに、比較演算子 (==) と equals() メソッドがさまざまな方法で使用されます。 Python で == 演算子と equals メソッドを区別するには、文字列比較でこれらを使用する必要があります。データ分析や機械学習で文字列を使用する場合、文字列の比較が広く行われます。この記事では、文字列で使用する場合に == 演算子と equals() メソッドを区別する方法を学びます。

Python の

== 演算子

== は、2 つの文字列値を比較するために使用される比較演算子です。文字列値が等しい場合は True を返し、文字列値が等しくない場合は False を返します。文字列が異なるメモリ場所に格納されている場合でも true を返します。文字列値が等しいかどうかのみを比較します。

###例###

次の例では、2 つの文字列値

str1

str2 を定義し、同じ文字列値で初期化します。 == 演算子を使用して文字列 str1str2 を比較すると、両方の文字列の値が等しいため、true が返されます。 リーリー ###出力### リーリー Python の __eq__() メソッド p>

Python の __eq__ メソッドは、クラスのオブジェクトが等しいかどうかを比較する方法を定義するために使用されます。 __eq__ メソッドは、

self (== 演算子の左側のオブジェクト) と other (== 演算子の右側のオブジェクト) の 2 つのパラメーターを取ります。 __eq__

メソッドは常にブール値 (True または False) を返します。ブール値以外を返すと、TypeError が発生します。

###例###

次の例では、name

age

という 2 つのプロパティを持つ

person

という名前のクラスを作成します。次に、クラス内に __eq__() メソッドを定義して、person オブジェクトの name プロパティと age プロパティを比較します。最後に、person クラスの 2 つのインスタンス p1p2 を作成し、== 演算子を使用して比較します。 リーリー ###出力### リーリー == メソッドと __eq__ メソッドの違い

== 演算子

__eq__メソッド== は、2 つのオブジェクトの値を比較するときの Python のデフォルトの動作です。 __eq__ メソッドはクラス内で明示的に定義する必要があります。 #__eq__メソッドは同じタイプのオブジェクトのみを比較できます__eq__メソッドは、特定の種類の比較に合わせてカスタマイズできます。

==演算子は、異なるデータ型のオブジェクトを比較するために使用できます。

カスタマイズの柔軟性はあまりありません。

これは継承できないため、クラスごとに明示的に定義する必要があります。

__eq__ メソッドは親クラスから継承できます。

###結論は###

この記事では、Python で == 演算子と __eq__ メソッドがどのように機能するかについて説明しました。 == 演算子は、文字列のメモリ位置を調べずに文字列を比較します。 __eq__ メソッドはクラスで定義されており、2 つのオブジェクトを比較するために使用されます。この記事では、== 演算子と __eq__ メソッドの違いについても説明します。

以上がPython プログラムは string == 演算子と __eq__() メソッドを区別しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。