"Chris Angelico" <ros...@gmail.com> a écrit dans le message de
news:mailman.43.1454574987.30993.python-l...@python.org...
You can see that by looking at the objects without calling them:
class A:
... def a(self): pass
...
class B(A):
... def b(self): pass
...
class C(B):
... def c(self): pass
...
obj = C()
obj.a
<bound method A.a of <__main__.C object at 0x7fb7bdfa57f0>>
obj.b
<bound method B.b of <__main__.C object at 0x7fb7bdfa57f0>>
obj.c
<bound method C.c of <__main__.C object at 0x7fb7bdfa57f0>>
The information comes from the function's qualname:
obj.c.__func__.__qualname__
'C.c'
Is that what you're hoping for?
It is strange but I dont have the same result that you:
(Python 3.4)
class A:
def a(self):pass
>>> class B(A):
def b(self):pass
>>> class C(B):
def c(self):pass
>>> obj = C()
obj.a
<bound method C.a of <__main__.C object at 0x02963F90>>
But with __qualname__ it works
obj.a.__func__.__qualname__
'A.a'
--
https://mail.python.org/mailman/listinfo/python-list