Finding in which class an object's method comes from
Chris Angelico
rosuav at gmail.com
Thu Feb 4 03:36:19 EST 2016
More information about the Python-list mailing list
Thu Feb 4 03:36:19 EST 2016
- Previous message (by thread): Finding in which class an object's method comes from
- Next message (by thread): Finding in which class an object's method comes from
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, Feb 4, 2016 at 7:25 PM, ast <nomail at invalid.com> wrote: > Hi > > Suppose we have: > > ClassC inherit from ClassB > ClassB inherit from ClassA > ClassA inherit from object > > Let's build an object: > > obj = ClassC() > > Let's invoke an obj method > > obj.funct() > > funct is first looked in ClassC, then if not found > on ClassB, then ClassA then object > > But is there a command to know where funct is > found ? 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? ChrisA
- Previous message (by thread): Finding in which class an object's method comes from
- Next message (by thread): Finding in which class an object's method comes from
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list