Почему это не поднимает ошибку атрибута? объект функции не имеет методов сравнения. Использует ли он id()?
fun1 = lambda:x
fun2 = lambda:x
print fun1 == fun1 # True
print fun1 == fun2 # False
print fun1 > fun2 # True
print fun1 < fun2 # False
print fun1 > 1 # True
Я понимаю, что он сравнивает адреса, но как? Это какой-то низкий уровень взлома для перехвата __lt__, __eq__ и т.д.?