¿Por qué un método no es idéntico a sí mismo?

losDocumentación de Python sobre elis operador dice:

Los operadoresis yis not prueba de identidad de objeto:x is y es cierto si y solo six yy Son el mismo objeto.x is not y produce el valor de verdad inverso.

Probemos eso:

>>> def m():
...   pass
... 
>>> m is m
True

losLa documentación de Python también dice:

Debido a la recolección automática de basura, las listas gratuitas y la naturaleza dinámica de los descriptores, puede notar un comportamiento aparentemente inusual en ciertos usos deis operador, como los que implican comparaciones entre métodos de instancia o constantes. Consulte su documentación para más información.

>>> class C:
...   def m():
...     pass
... 
>>> C.m is C.m
False

Busqué más explicaciones, pero no pude encontrar ninguna.

Por que esC.m is C.m ¿falso?

Estoy usando Python 2.x. Como se señala en las respuestas a continuación, en Python 3.xC.m is C.m es verdad.

Respuestas a la pregunta(3)

Su respuesta a la pregunta