Наследование в Python | Наследование Python [с примером]
Опубликовано: 2020-12-14Python — один из самых популярных языков программирования. Несмотря на полный взлетов и падений переход от версии Python 2 к Python 3, популярность объектно-ориентированного языка программирования резко возросла.
Если вы планируете карьеру разработчика Python, вы обязательно получите более высокую выплату. Поскольку средняя зарплата разработчика Python составляет около 119 082 долларов в год. Но прежде чем приступить к изучению программы Python, вот что вам следует знать в первую очередь: наследование в Python. Ознакомьтесь с нашими сертификатами по науке о данных, если вы хотите получить опыт работы с Python и другими инструментами.
Давайте сначала начнем с того, что такое наследование в Python?
Оглавление
Что такое наследование в Python?
Точно так же, как отношения родитель-потомок, наследование работает в производных классах относительно базового класса. Каждый «Производный» класс наследуется от «Базового» класса. Наследование представлено в UML или унифицированном языке моделирования. Это стандартный язык моделирования, который включает в себя интегрированный набор диаграмм, помогающих разработчикам определять, структурировать и документировать элементы программных систем.
Отношение наследования определяет классы, которые наследуются от других классов как производные, подклассы или классы подтипа. Базовый класс остается источником, от которого наследуется подкласс. Например, у вас есть базовый класс «Животное», а «Лев» — производный класс. В наследство будет Лев - Животное.
Итак, вопрос в том, что класс «Лев» наследует от «Животного»?
Класс «Лев» наследует
- Интерфейс
- Исполнение
Примечание. Вы можете заменить объекты производного класса объектами базового класса в приложении, известном как принцип подстановки Лисков . Это указывает на то, что если компьютерная программа имеет объект P как подтип Q, вы можете легко заменить P на Q без изменения свойств.
Также оформите заказ: зарплата разработчиков Python в Индии
Преимущества наследования в Python
- Наследование в Python помогает разработчикам повторно использовать объекты.
- Каждый раз, когда класс наследует базовый класс, он получает доступ к функциям родительского объекта.
- Возможность повторного использования благодаря наследованию также надежна, поскольку базовый класс уже протестирован.
- Низкие сроки и стоимость разработки
- Стандартизация интерфейса между классами становится легкой.
- Уменьшает избыточность кода и помогает улучшить расширяемость.
- Создание библиотек классов становится простым.
Типы наследования в Python
Единое наследство
Мы уже видели, что такое одиночное наследование — наследование класса «Производный» от класса «Базовый». Давайте разберемся на примере,
класс Страна:
деф ShowCountry(я):
print("Это Испания");
класс Государство (Страна):
деф ShowState (я):
print("Это состояние");
ул = Состояние();
ул.ШоуКантри();
ст.ШоуСтате();
Многоуровневое наследование
Python состоит из нескольких объектов, а многоуровневое наследование дает бесконечные возможности повторного использования функций класса. Многоуровневое наследование документируется каждый раз, когда производный класс наследует другой производный класс. Количество производных классов, которые могут наследовать функции, не ограничено, поэтому многоуровневое наследование помогает улучшить возможность повторного использования в Python.
Вот пример многоуровневого наследования
класс Животное:
Def говорить (сам):
print("Говорит животное")
#Дочерний класс Dog наследует базовый класс Animal
класс Собака(Животное):
защита коры (я):
print("собачий лай")
#Дочерний класс Dogchild наследует другой дочерний класс Dog
класс DogChild(Собака):
деф есть(я):
print("Есть хлеб...")
d = DogChild ()
д.кора()
д.говорить()
д.есть()
Множественное наследование
Python позволяет разработчикам наследовать несколько функций и свойств от разных базовых классов в один производный класс. В основном это отличная функция, поскольку она позволяет вам наследовать несколько зависимостей без использования сложных инструментов или кодирования.
Давайте рассмотрим пример для множественного наследования.
класс Расчет1:
Суммирование по определению (я, а, б):
вернуть а+б;
класс Расчет2:
def Умножение (я, а, б):
вернуть а*б;
Производный класс (Расчет1, Расчет2):
Деф Разделить (самостоятельно, а, б):
возврат а/б;
д = Производный ()
печать (d.Суммирование (10,20))
печать (г. Умножение (10,20))

печать (д. Разделить (10,20))
Проверьте: Как преобразовать речь в текст с помощью Python
Как идентифицировать производный класс?
Python поставляется со встроенной функцией issubclass(), которая помогает разработчикам проверить, является ли класс производным или базовым классом. После запуска этой функции она возвращает результат «Истина» для подкласса или производного класса и Ложь для базового класса.
Разработчик может проверить класс с помощью этого примера.
класс мой возраст:
возраст = 36
класс myObj(myAge):
имя = «Джон»
возраст = мой возраст
x = подкласс (myObj, myAge)
Как создать иерархию классов в Python?
Наследование в Python помогает создавать иерархии классов. Все относительные классы будут иметь общий интерфейс для связи друг с другом. Базовый класс определяет интерфейс. Производные классы могут обеспечивать конкретную специализацию интерфейса. Здесь мы изучаем модель управления персоналом, чтобы продемонстрировать иерархию классов.
Система управления персоналом будет обрабатывать начисление заработной платы для разных сотрудников компании; каждый работник идентифицируется с помощью идентификатора и имеет разные должности для расчета заработной платы.
Давайте сначала создадим класс расчета заработной платы в качестве объекта «Базовый».
# В час.py
класс PayrollSystem:
def calculate_payroll (я, рабочие):
print('Расчет заработной платы')
печать('===================')
для рабочего в рабочих:
print(f'Зарплата для: {worker.id} – {worker.name}')
print(f'- Сумма чека: {worker.calculate_payroll()}')
Распечатать(")
PayrollSystem выполняет метод .calculate_payroll() , который собирает информацию о работнике, печатает его идентификатор, имя и проверяет сумму заработной платы . Теперь вы запускаете обработчик базового класса , который использует стандартный интерфейс для каждого типа обработчика:
# В час.py
класс Рабочий:
def __init__(я, идентификатор, имя):
self.id = идентификатор
self.name = имя
Создание базового класса Worker для всех типов работников в компании упрощает иерархию для системы управления персоналом. Каждому работнику присваивается имя и идентификатор. Система управления персоналом требует от работника предоставления данных о своей еженедельной зарплате через интерфейс .calculate_payroll(). Выполнение этого интерфейса может различаться в зависимости от типа работника.
Обязательно к прочтению: вопросы на собеседовании по Python
Заключение
Здесь мы научились создавать разные классы Python, устанавливать отношения между ними и даже устанавливать иерархию классов. Но наследование в Python не ограничивается упомянутыми здесь функциями.
Расширенная сертификация в области машинного обучения и искусственного интеллекта : IIT madras, одно из лучших учебных заведений Индии, сотрудничает с upGrad, чтобы создать расширенный курс по машинному обучению, чтобы люди могли получить полные знания о машинном обучении с помощью этого курса.
Если вам интересно узнать о науке о данных, ознакомьтесь с программой IIIT-B & upGrad Executive PG по науке о данных , которая создана для работающих профессионалов и предлагает более 10 тематических исследований и проектов, практические семинары, наставничество с отраслевыми экспертами, 1 -на-1 с отраслевыми наставниками, более 400 часов обучения и помощи в трудоустройстве в ведущих фирмах.
Почему в Python важно наследование?
Наследование относится к процессу передачи свойств родительского класса дочернему классу. Это концепция объектно-ориентированного программирования (ООП), которая играет важную роль в Python. Это связано с тем, что наследование обеспечивает повторное использование кода, а это означает, что вместо того, чтобы писать один и тот же код снова и снова, мы можем наследовать атрибуты, которые нам нужны в дочернем классе. Его также легко понять и реализовать, поскольку он отображает реальные отношения между родительским и дочерним классами. Имеет переходный характер. Поскольку все дочерние классы наследуют свойства своих родителей, любые подклассы также будут использовать функциональные возможности родительского класса.
Нужно ли наследование при изучении Python?
Да, изучение наследования необходимо при изучении Python. Массивные приложения Python требуют увеличения числа программистов Python на текущем рынке. Этот всплеск привел к увеличению числа людей, изучающих Python. Язык программирования Python богат такими понятиями, как наследование. Одной из основных концепций этого объектно-ориентированного языка программирования является наследование. Поскольку наследование позволяет повторно использовать код, удобочитаемость и передачу свойств, его изучение во время изучения Python является обязательным. Наследование помогает создавать точный и эффективный код.
Какие типы наследования не поддерживаются в Python?
Python допускает все формы наследования, включая множественное наследование, в отличие от других объектно-ориентированных языков программирования. Можно создавать новые классы из уже существующих, используя концепцию наследования. Это облегчает повторное использование кода. Методы, указанные в родительском классе, также используются в дочернем классе. Хотя C++ также допускает такое наследование, ему не хватает продвинутой и хорошо продуманной методологии Python. Python даже предлагает гибридное наследование, которое позволяет реализовать множество типов наследования в одном фрагменте кода. Поскольку повторное использование кода — это сильная сторона наследования, это полезно в широком диапазоне приложений при работе с Python.