Sovraccarico di funzioni in Python

Lakshay Kapoor 12 luglio 2021
  1. Definizione di sovraccarico
  2. Sovraccarico di funzioni in Python
  3. Usa Multiple Dispatch Decorator per eseguire il sovraccarico delle funzioni in Python
Sovraccarico di funzioni in Python

Questo articolo parla del sovraccarico delle funzioni Python e di come eseguirlo. Di seguito abbiamo incluso metodi e programmi di esempio da seguire.

Definizione di sovraccarico

In programmazione, il termine sovraccarico aiuta una funzione ad agire in vari modi in base agli argomenti e ai parametri in essa memorizzati. Il sovraccarico consente il riutilizzo ripetuto di un programma; ad esempio, invece di passare più metodi non troppo diversi tra loro, è possibile passare un solo metodo e può essere sottoposto a overload. Il sovraccarico di una funzione rende anche un programma più chiaro e meno complesso.

Non dovresti usare eccessivamente questo processo perché crea confusione durante la gestione di diverse funzioni sovraccaricate.

Sovraccarico di funzioni in Python

In Python, una funzione può essere creata e chiamata più volte passandoci molti argomenti o parametri. Questo processo di chiamare la stessa funzione, ancora e ancora, utilizzando argomenti o parametri diversi, è chiamato sovraccarico della funzione.

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")

In questo programma, definiamo inizialmente una classe chiamata Home, in cui definiamo una funzione Knock. Successivamente, l’istruzione condizionale if-else fornisce condizioni diverse in base a input diversi. Quindi creiamo un oggetto chiamato DefObj che la classe principale Home usa per chiamare la funzione Knock. Infine, abbiamo chiamato la funzione Knock più di una volta utilizzando argomenti diversi. Pertanto, abbiamo utilizzato l’overload delle funzioni in questo programma.

Usa Multiple Dispatch Decorator per eseguire il sovraccarico delle funzioni in Python

I Decoratori in Python sono gli strumenti che aiutano a modificare il comportamento di una particolare classe o funzione nel programma. Sono utilizzati per aggiungere altre funzioni per modificare la funzione esistente senza modificarla effettivamente.

Un Dispatch Decorator ti aiuta a selezionare le implementazioni da un numero di esecuzioni dalla stessa funzione astratta in base all’elenco di tipi dato.

Dai un’occhiata al programma di esempio qui sotto:

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)

Produzione:

17.16
0
27

Qui puoi passare qualsiasi tipo di dati al dispatcher. Il dispatcher viene utilizzato per creare un oggetto con diverse implementazioni. Durante l’esecuzione, la funzione appropriata viene selezionata utilizzando semplicemente il nome della funzione, il numero di argomenti e il tipo di dati degli argomenti.

Lakshay Kapoor avatar Lakshay Kapoor avatar

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

Articolo correlato - Python Function