1

以外の方法で Python の文字列を比較できます==か? .equalsJavaのようなものはありますか?

4

4 に答える 4

4

これには 2 つの方法があります。operator1 つ目は、すべての数学演算子の関数を含むモジュールを使用することです。

>>> from operator import eq
>>> x = "a"
>>> y = "a"
>>> eq(x, y)
True
>>> y = "b"
>>> eq(x, y)
False
>>>

もう 1 つは、__eq__次の使用時に呼び出される文字列のメソッドを使用すること==です。

>>> x = "a"
>>> y = "a"
>>> x.__eq__(y)
True
>>> y = "b"
>>> x.__eq__(y)
False
>>>
于 2013-11-13T22:19:21.353 に答える
2

あなたがすることができます:

import operator
a = "string1"
b = "string2"
print operator.eq(a, b)

これは、明示的な演算子を使用していないという点で Java に似ています。

ただし、Java ではStringクラス (つまりmyString.equals(otherString)) でメソッド呼び出しを使用していますが、Python ではeq、呼び出されたモジュールからインポートする関数にすぎませんoperator(operator.eqドキュメントを参照)。

于 2013-11-13T22:19:02.123 に答える
0

Python 文字列はデフォルトで不変でメモ化されているため、「==」以外を使用する必要は何ですか?

他の回答で指摘されているように、参照(id)比較に「is」を使用できます。

于 2015-01-14T05:38:27.740 に答える