У меня была ошибка, когда я полагался на методы, равные друг другу при использовании is
. Оказывается, что не случай:
>>> class What(object):
def meth(self):
pass
>>> What.meth is What.meth
False
>>> inst = What()
>>> inst.meth is inst.meth
False
Почему это так? Он работает для регулярных функций:
>>> def func():
pass
>>> func is func
True