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