Por que os métodos não têm igualdade de referência?
Eu tinha um bug onde eu estava confiando em métodos sendo iguais uns aos outros quando usandois
. Acontece que não é o caso:
>>> class What(object):
def meth(self):
pass
>>> What.meth is What.meth
False
>>> inst = What()
>>> inst.meth is inst.meth
False
Por que esse é o caso? Funciona para funções regulares:
>>> def func():
pass
>>> func is func
True