Перегрузка функций в Python
- Определение перегрузки
- Перегрузка функций в Python
-
Используйте
Multiple Dispatch Decorator
для выполнения перегрузки функций в Python

В этой статье рассказывается о перегрузке функций Python и о том, как ее выполнить. Мы включили методы и примеры программ, которым вы можете следовать ниже.
Определение перегрузки
В программировании термин перегрузка помогает функции действовать по-разному в зависимости от аргументов и параметров, хранящихся в ней. Перегрузка позволяет многократно использовать программу; например, вместо передачи нескольких методов, которые не слишком отличаются друг от друга, можно передать только один метод, который может быть перегружен. Перегрузка функции также делает программу более понятной и менее сложной.
Не следует использовать этот процесс чрезмерно, поскольку он создает путаницу при управлении несколькими перегруженными функциями.
Перегрузка функций в Python
В Python функцию можно создать и вызвать несколько раз, передав в нее множество аргументов или параметров. Этот процесс вызова одной и той же функции снова и снова с использованием разных аргументов или параметров называется перегрузкой функции.
class Home:
def Knock(self, person_one=None, person_two=None):
if person_one is not None and person_two is None:
print("Hi, " + person_one)
elif person_one is not None and person_two is not None:
print("Hi, " + person_one + " and " + person_two)
else:
print("Who's there? ")
DefObj = Home()
DefObj.Knock()
DefObj.Knock('Rick','Morty')
DefObj.Knock('Sam')
В этой программе мы изначально определяем класс под названием Home
, в котором мы определяем функцию Knock
. После этого условный оператор if-else
дает разные условия на основе разных входных данных. Затем мы создаем объект с именем DefObj
, который основной класс Home
использует для вызова функции Knock
. Наконец, мы неоднократно вызывали функцию Knock
, используя разные аргументы. Поэтому в этой программе мы использовали перегрузку функций.
Используйте Multiple Dispatch Decorator
для выполнения перегрузки функций в Python
Декораторы в Python - это инструменты, которые помогают изменить поведение определенного класса или функции в программе. Они используются для добавления других функций для изменения существующей функции без ее фактического изменения.
Dispatch Decorator
помогает вам выбрать реализации из ряда выполнений одной и той же абстрактной функции на основе заданного списка типов.
Взгляните на пример программы ниже:
from multipledispatch import dispatch
@dispatch(float,float,float)
def summation(float_1,float_2,float_3):
total = float_1+float_2+float_3
print(total);
@dispatch(int,int,int)
def difference(int_1,int_2,int_3):
diff = int_1 - int_2 - int_3
print(diff);
@dispatch(int,int,int)
def multiply(int_1,int_2,int_3):
product = int_1*int_2*int_3
print(product);
summation(6.9,3.14,7.12)
difference(9,6,3)
product(3,3,3)
Выход:
17.16
0
27
Здесь вы можете передать диспетчеру любой тип данных. Диспетчер используется для создания объекта с разными реализациями. Во время выполнения выбирается соответствующая функция, просто используя имя функции, количество аргументов и тип данных аргументов.
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn