"Fluent python" kitabını okuduktan sonra, __eq__()
yöntemini kullanarak ==
operatörünün python nesnelerle nasıl çalıştığını anlıyorum. Peki python2'deki int
örnekleriyle nasıl çalışır? python3 içindepython2'de __eq __() yöntemi olmadan "==" operatörünü kullanarak int() nesnesi nasıl?
>>> a = 1
>>> b = 1
>>> a == b
True
>>> a.__eq__(b)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'int' object has no attribute '__eq__'
tüm a.__eq__(b)
döner True
Python 2'de
http://stackoverflow.com/questions/3588776/how-is-eq-handled-in-python-and-in- Burada bir kaç cevaba bakarsak, sanırım bunu iyi açıklarlar. – sjr59
Vahşi tahmin, fakat “operatör ithalatından eq; eq (2,2) 'Python2'de çalışır. Ya bu ya da '__cmp__' –
'a .__ cmp__' kullanıldığında, Python 2'nin kullandığı durum olabilir. – Blender