An object is classmethodnot an object of a function, no. It is not intended to be called.
classmethod ; . ; , . . Python . classmethod , classmethod.__get__(None, cls), ( , ).
__dict__, , .
( descriptor.__get__(None, cls), ), classmethod:
>>> A.__dict__['func_c']
<classmethod object at 0x1018e6cc8>
>>> A.__dict__['func_c'].__get__(None, A)
<bound method classobj.func_c of <class __main__.A at 0x101c52328>>
>>> callable(A.__dict__['func_c'].__get__(None, A))
True
>>> A.func_c
<bound method classobj.func_c of <class __main__.A at 0x101c52328>>
, classmethod, __func__:
>>> A.__dict__['func_c'].__func__
<function func_c at 0x101c59668>
, , .
, staticmethod; a staticmethod , , .