Это никак не связано с наследованием. Child.another_method()
является атрибутом класса, а не экземпляра, поэтому он не в __dict__
из self
, а скорее в указании Child
. Если вы создадите экземпляр только Base
и вызовете print_methods()
для этого экземпляра, вы также не увидите print_methods
.
Чтобы найти все методы экземпляра, вы можете использовать dir()
или inspect.getmembers()
(возможно в сочетании с callable()
только для включения вызываемых атрибутов).