Наследование
Научитесь повторно использовать и расширять функциональность с помощью наследования
«Наследование» — бесплатный урок Python Academy на CoddyKit. Это урок 3 из 6. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 6 уроков всего.
Введение в наследование
Введение в наследование
Наследование — это основная концепция объектно-ориентированного программирования (ООП), которая позволяет классу (подклассу) наследовать атрибуты и методы другого класса (суперкласса). Оно способствует повторному использованию кода и делает его более структурированным.
В этом уроке Вы узнаете, как реализовать наследование в Python и поймёте его преимущества.

Определение суперкласса
Определение суперкласса
Суперкласс — это базовый класс, от которого наследуются другие классы. Он определяется так же, как любой другой класс:
# Defining a superclass
class Animal:
def speak(self):
print("Animal speaks")Создание подкласса
Создание подкласса
Подкласс наследует атрибуты и методы суперкласса. Чтобы определить подкласс, передайте имя суперкласса в качестве параметра:
# Defining a subclass
class Dog(Animal):
def speak(self):
print("Dog barks")Переопределение методов
Переопределение методов
Подкласс может переопределять методы суперкласса, чтобы задать особое поведение:
# Overriding methods in a subclass
class Dog(Animal):
def speak(self):
print("Dog barks")
animal = Animal()
animal.speak() # Outputs: Animal speaks
dog = Dog()
dog.speak() # Outputs: Dog barksИспользование функции <code>super()</code>
Использование функции super()
Функция super() позволяет вызывать методы суперкласса в подклассе:
# Using super() to call superclass methods
class Dog(Animal):
def speak(self):
super().speak()
print("Dog barks")Множественное наследование
Множественное наследование
Python поддерживает множественное наследование, при котором подкласс может наследовать свойства более чем одного суперкласса:
# Example of multiple inheritance
class Flyer:
def fly(self):
print("Flying")
class Swimmer:
def swim(self):
print("Swimming")
class Duck(Flyer, Swimmer):
passПроверка связей между классами
Проверка связей между классами
Вы можете проверять связи между классами с помощью функций isinstance() и issubclass().
# Checking class relationships
# Checking if an object is an instance of a class
print(isinstance(Dog(), Dog)) # Outputs: True
# Checking if a class is a subclass of another
print(issubclass(Dog, Animal)) # Outputs: TrueРаспространённые ошибки при наследовании
Распространённые ошибки при наследовании
Вот несколько ошибок, которых следует избегать:
- Переопределение методов без вызова
super(), когда это необходимо. - Путаница в порядке разрешения методов (MRO) при множественном наследовании.
- Использование наследования, когда лучшим выбором может быть композиция.
Что мы узнали
Что мы узнали
В этом уроке Вы узнали:
- Как определять суперклассы и подклассы.
- Как переопределять методы и использовать
super(). - Как работает множественное наследование в Python.
Отличная работа! Переходим к следующей теме.

Часто задаваемые вопросы
Урок «Наследование» бесплатный?
Да — полный текст урока «Наследование» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 6 уроков всего.
Чему я научусь в уроке «Наследование»?
Научитесь повторно использовать и расширять функциональность с помощью наследования Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Python Academy?
Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 6.
Сколько времени занимает урок «Наследование»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Python Academy?
Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Классы и объекты
- Атрибуты и методы
- Наследование
- Полиморфизм
- Инкапсуляция и абстракция
- Специальные методы (__str__, __repr__ и другие)