¿Por qué los métodos no tienen igualdad de referencia?
Tuve un error en el que confiaba en que los métodos fueran iguales entre sí al usaris
. Resulta que ese no es el caso:
>>> class What(object):
def meth(self):
pass
>>> What.meth is What.meth
False
>>> inst = What()
>>> inst.meth is inst.meth
False
¿Por qué es ese el caso? Funciona para funciones regulares:
>>> def func():
pass
>>> func is func
True