It's said that :
When it would yield a class method object, it is transformed into a bound user-defined method object whose im_class and im_self attributes are both C.
in the Reference
And I did an EX.
>>> class C(object) :
... @classmethod
... def cm(cls) : print cls
...
>>> C.cm
<bound method type.cm of <class '__main__.C'>>
>>> C.cm.im_self
<class '__main__.C'>
>>> C.cm.im_class
<type 'type'>
It's not hard for me to understand the phenomenon. But unfortunately, in the reference, it's told that im_self should be the same as im_class. How to explain the inconsistency?