1
所以下面內置類有一個__eq__
屬性,(我認爲)就是爲什麼你可以測試他們的情況下平等:__eq__屬性和相等運算符之間的關係?
>>> 1.2.__eq__(1.2)
True
>>> 1.2 == 1.2
True
>>> 'hello'.__eq__('hi')
False
>>> 'hello' == 'hi'
False
>>> [1,2].__eq__([1,2])
True
>>> [1,2] == [1,2]
True
然後我很驚訝地看到,int
對象沒有__eq__
,但我們仍然可以比較它們:
>>> hasattr(1, '__eq__')
False
>>> 1 == 2
False
發生了什麼事?我誤解了__eq__
與平等運算符之間的關係嗎?
_in Python 3 int有一個'__cmp__'方法:_ - 我想你的意思是_does有一個'__eq__' method_ – 2014-08-27 14:09:37
@kroolik:的確,已更正。 – 2014-08-27 14:10:03