Что такое перегрузка конструктора в Python? С примерами
Опубликовано: 2023-01-29Python — это удобный язык программирования, который могут легко освоить даже новички. Этот язык программирования предлагает широкий спектр поддержки сообщества, которая помогает программистам исследовать несколько способов реализации кода. Стандартные библиотеки Python и модули, предоставленные форумом сообщества, открывают бесконечные возможности, включая разработку веб-сайтов и Интернета, графические интерфейсы рабочего стола, доступ к базам данных, образование, научные и числовые приложения, сетевое программирование, разработку программного обеспечения и программ для разработки игр. Этот язык с открытым исходным кодом разработан в соответствии с одобренной лицензией OSI. Следовательно, его можно использовать и распространять бесплатно. Python Software Foundation управляет лицензией Python.
Оглавление
Конструкторы в Python:
Основная функция конструктора Python — создание экземпляров объектов. Во время создания объекта членам данных класса присваиваются значения или инициализируются с помощью конструкторов. Функция _init_ — это конструктор в Python. Его часто вызывают при создании нового объекта.
Синтаксис объявления конструктора
Задание _init_(я):
# тело конструктора
В Python есть два типа конструкторов. Они есть:
- Конструктор по умолчанию
- Параметризованный конструктор
Конструктор по умолчанию:
Это простой конструктор, не принимающий никаких входных параметров. Определение конструкторов по умолчанию имеет только один аргумент, который ссылается на создаваемый экземпляр.
Параметризованный конструктор:
Как видно из названия, эти конструкторы имеют параметры. Первый аргумент конструкторов этого типа относится к создаваемому экземпляру и известен как «я». Все остальные необходимые аргументы задаются программистом в качестве входных данных.
Ознакомьтесь с курсами по науке о данных upGrad
Перегрузка конструктора в Python:
Перегрузка конструкции относится к сценарию включения большего количества конструкторов с отдельным списком параметров, так что каждый конструктор используется для выполнения разных задач в программе. Например, в классе Vector имеется четыре типа конструкторов.
Python явно не поддерживает несколько конструкторов. Однако использование нескольких конструкторов в Python может осуществляться несколькими способами. Если программист пишет несколько методов _init_ для одного и того же класса, самая последняя написанная функция _init_ перезаписывает все остальные конструкторы.
Почему в Python требуется несколько конструкторов?
Когда пользователю необходимо выполнить различные действия для создания экземпляра класса, всплывает требование наличия нескольких конструкторов. Это полезно, когда разные действия должны выполняться классом с разными параметрами. Конструкторы классов в Python структурированы так, чтобы проявлять полиморфизм тремя различными способами, перечисленными ниже:
- Перегрузка конструктора на основе аргументов
- Вызов методов _init_
- Использование декоратора @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 имеют хорошие возможности для изучения таких предметов, как глубокое обучение, обработка естественного языка, бизнес-аналитика и обработка данных.