On 3/1/2020 4:49 AM, Adam Preble wrote:
Based on what I was seeing here, I did some experiments to try to understand better what is going on:class BaseClass: def __init__(self): self.a = 1 def base_method(self): return self.a def another_base_method(self): return self.a + 1 class SubClass(BaseClass): def __init__(self): super().__init__() self.b = 2 c = SubClass() print(c.__dict__) print(c.__class__.__dict__) print(c.__class__.__subclasses__()) print(c.__class__.mro()) print(c.__class__.mro()[1].__dict__) print(getattr(c, "base_method")) print(c.b) print(c.a)
print(c.__class__.__subclasses__()) [] What?! Why isn't this [<class '__main__.BaseClass'>]?
Because BaseClass is the superclass of SubClass. -- Terry Jan Reedy -- https://mail.python.org/mailman/listinfo/python-list
