Как получить экземпляр родителя из дочернего класса?

Для того чтобы получить экземпляр родительского класса из дочернего класса в Python, можно воспользоваться функцией super(). super() обеспечивает доступ к методам родительского класса и позволяет обращаться к ним из дочернего класса.

Допустим, у нас есть два класса: Parent (родительский класс) и Child (дочерний класс), и мы хотим получить экземпляр родительского класса в методе дочернего класса. Вот пример:

class Parent:
    def __init__(self, name):
        self.name = name

    def show_name(self):
        print(f"Parent's name is {self.name}")

class Child(Parent):
    def __init__(self, name, child_name):
        super().__init__(name)
        self.child_name = child_name

    def show_names(self):
        super().show_name()
        print(f"Child's name is {self.child_name}")

parent = Parent("Alice")
child = Child("Alice", "Bob")

child.show_names()

В данном примере, метод show_names() дочернего класса Child использует super() для вызова метода show_name() родительского класса Parent. Таким образом, можно получить доступ к методам и атрибутам родительского класса из дочернего класса.

Используя super(), вы можете получить экземпляр родительского класса и вызвать его методы или использовать его атрибуты из дочернего класса, обеспечивая удобную и эффективную работу с классами и наследованием в Python.