Как сделать вызов родительского конструктора python?

Аватар пользователя Ivan Mamtsev
Ivan Mamtsev
29 октября 2024

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

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

class Child(Parent):
    def __init__(self, name, age):
        super().__init__(name)  # вызов родительского метода
        self.age = age
        print("Child")

child = Child("Alice", 10)
# Parent
# Child
0 0

Чтобы вызвать конструктор родительского класса в Python при наследовании, используйте функцию super().

Пример:

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

class Child(Parent):
    def __init__(self, value, added_value):
        super().__init__(value)  # Вызов конструктора родительского класса
        self.added_value = added_value  # Добавление собственных свойств

В Python 3 функция super() существенно упрощена и не требует явного указания параметров. В версии Python 2, напротив, необходимо явно указать класс и экземпляр как аргументы функции super().

0 0
Познакомьтесь с основами Python бесплатно