Что такое перегрузка конструктора в Python? С примерами

Опубликовано: 2023-01-29

Python — это удобный язык программирования, который могут легко освоить даже новички. Этот язык программирования предлагает широкий спектр поддержки сообщества, которая помогает программистам исследовать несколько способов реализации кода. Стандартные библиотеки Python и модули, предоставленные форумом сообщества, открывают бесконечные возможности, включая разработку веб-сайтов и Интернета, графические интерфейсы рабочего стола, доступ к базам данных, образование, научные и числовые приложения, сетевое программирование, разработку программного обеспечения и программ для разработки игр. Этот язык с открытым исходным кодом разработан в соответствии с одобренной лицензией OSI. Следовательно, его можно использовать и распространять бесплатно. Python Software Foundation управляет лицензией Python.

Оглавление

Конструкторы в Python:

Основная функция конструктора Python — создание экземпляров объектов. Во время создания объекта членам данных класса присваиваются значения или инициализируются с помощью конструкторов. Функция _init_ — это конструктор в Python. Его часто вызывают при создании нового объекта.

Синтаксис объявления конструктора

Задание _init_(я):

# тело конструктора

В Python есть два типа конструкторов. Они есть:

  • Конструктор по умолчанию
  • Параметризованный конструктор

Конструктор по умолчанию:

Это простой конструктор, не принимающий никаких входных параметров. Определение конструкторов по умолчанию имеет только один аргумент, который ссылается на создаваемый экземпляр.

Параметризованный конструктор:

Как видно из названия, эти конструкторы имеют параметры. Первый аргумент конструкторов этого типа относится к создаваемому экземпляру и известен как «я». Все остальные необходимые аргументы задаются программистом в качестве входных данных.

Ознакомьтесь с курсами по науке о данных upGrad

Перегрузка конструктора в Python:

Перегрузка конструкции относится к сценарию включения большего количества конструкторов с отдельным списком параметров, так что каждый конструктор используется для выполнения разных задач в программе. Например, в классе Vector имеется четыре типа конструкторов.

Python явно не поддерживает несколько конструкторов. Однако использование нескольких конструкторов в Python может осуществляться несколькими способами. Если программист пишет несколько методов _init_ для одного и того же класса, самая последняя написанная функция _init_ перезаписывает все остальные конструкторы.

Почему в Python требуется несколько конструкторов?

Когда пользователю необходимо выполнить различные действия для создания экземпляра класса, всплывает требование наличия нескольких конструкторов. Это полезно, когда разные действия должны выполняться классом с разными параметрами. Конструкторы классов в Python структурированы так, чтобы проявлять полиморфизм тремя различными способами, перечисленными ниже:

  1. Перегрузка конструктора на основе аргументов
  2. Вызов методов _init_
  3. Использование декоратора @classmethod

Изучите наши популярные курсы по науке о данных

Высшая программа высшего образования в области науки о данных от IIITB Программа профессиональных сертификатов в области науки о данных для принятия бизнес-решений Магистр наук в области науки о данных Университета Аризоны
Расширенная сертификационная программа в области науки о данных от IIITB Профессиональная сертификационная программа в области науки о данных и бизнес-аналитики Университета Мэриленда. Курсы по науке о данных

Читайте наши популярные статьи о науке о данных

Карьерный путь в науке о данных: подробное руководство по карьере Карьерный рост в науке о данных: будущее работы уже здесь Почему наука о данных важна? 8 способов, которыми наука о данных приносит пользу бизнесу
Актуальность науки о данных для менеджеров Окончательная шпаргалка по науке о данных, которую должен иметь каждый специалист по данным 6 главных причин, почему вы должны стать специалистом по данным
Один день из жизни Data Scientist: что они делают? Развенчан миф: Data Science не нуждается в кодировании Бизнес-аналитика и наука о данных: в чем разница?

Перегрузка конструктора в Python на основе аргументов:

В этом методе конструкторы перегружаются, выполняя необходимые действия после проверки условий для переданных аргументов. Рассмотрим пример передачи параметра в класс Sample.

  • Квадрат числа является ответом, если входной параметр является целым числом.
  • Если длина параметра больше 1, в качестве ответа отображается сумма аргументов.

Вызов методов с помощью _init_:

Когда создается экземпляр класса, класс может иметь единственный конструктор _init_, который может выполнять любую поставленную задачу. Этот конструктор можно изменить для обработки различных функций и выполнения различных задач в зависимости от переданного параметра. Рассмотрим пример, в котором выполняются следующие расчеты.

  • Если переданы два аргумента, выражение оценивается как x = a 2 – b 2
  • Если передаются три аргумента, то оцениваемое выражение будет y = a 2 + b 2 – c
  • Если количество переданных аргументов превышает три, то сложите квадраты этих чисел и разделите сумму на аргумент с наибольшим значением.

Если вы хотите подробно изучить переопределение методов в Python, мы предлагаем вам пройти 18-месячную программу магистра наук в области науки о данных . upGrad предлагает этот курс от IIIT Bangalore и Liverpool John Moore's University. Курс обучает вас таким навыкам, как статистика, прогнозная аналитика с использованием Python, машинное обучение, визуализация данных, аналитика больших данных и многое другое. Учащиеся с глубоким знанием концепций Python имеют хорошие возможности для изучения таких предметов, как глубокое обучение, обработка естественного языка, бизнес-аналитика и обработка данных.

Хотите поделиться этой статьей?

Подготовьтесь к карьере будущего

Подать заявку на степень магистра наук в области науки о данных