Существует много информации о искажениях и их использовании, однако я пытаюсь понять следующий фрагмент кода:
class Parent:
NAME = 'PARENT'
def __init__(self):
self.print_me()
def print_me(self):
print(f"Parent class {self.NAME}")
class Child(Parent):
NAME = 'CHILD'
def __init__(self):
super().__init__()
def print_me(self):
print(f"Child class {self.NAME}")
c = Child()
Может кто-нибудь объяснить, как вызывается переопределенный метод (print_me) изродительский класс init и не печатает родительский класс PARENT? Если я использую mangling для NAME
и print_me
, метод не переопределяется, и поэтому он вызывается из ожидаемого родительского элемента.