super()
Введение
Пример создания похожих классов без super()
class Rectangle:
def __init__(self, length, width):
self.length = length
self.width = width
def area(self):
return self.length * self.width
def perimeter(self):
return 2 * self.length + 2 * self.width
class Square:
def __init__(self, length):
self.length = length
def area(self):
return self.length * self.length
def perimeter(self):
return 4 * self.length
square = Square(4)
print(square.area())
rectangle = Rectangle(2,4)
print(rectangle.area())
16 8
Пример применения super()
Гораздо короче можно инициализировать класс Square опираясь на уже существующий класс Rectangle
# Создадим класс Square который будет наследовать от класса Rectangle
class Square(Rectangle):
def __init__(self, length):
super().__init__(length, length)
Автор статьи: Андрей Олегович