私はPythonでクラスを作成すると仮定しますが、私のクラスには__cmp__
メソッドを定義しません。今度はそのクラスのインスタンスを2つ作成して比較します。 Pythonはどのようなcmpメソッドを使用しますか?私はコードを実行し、それが等しいかどうかを比較するとfalseを返します。 Pythonはメモリアドレスを比較しますか?クラスの__cmp__を定義しないPythonオブジェクトの比較
class A(object):
def __init__(self, s):
self.s = s
def __str__(self):
return self.s
x1 = A("jim")
x2 = A("jim")
print x1 == x2
シェルは言う:
False
ドキュメントは '__le__'、' __lt__'などのメソッドではっきりしています。何を聞いていますか?リファレンスhttp://docs.python.org/reference/datamodel.html#object.__lt__ –