Surcharge de fonction en Python

Lakshay Kapoor 30 janvier 2023
  1. Définition de surcharge
  2. Surcharge de fonction en Python
  3. Utilisez Multiple Dispatch Decorator pour effectuer une surcharge de fonction en Python
Surcharge de fonction en Python

Cet article parle de la surcharge de fonction Python et de la façon dont vous pouvez l’exécuter. Nous avons inclus ci-dessous des méthodes et des exemples de programmes à suivre.

Définition de surcharge

En programmation, le terme surcharge permet à une fonction d’agir de diverses manières en fonction des arguments et paramètres qui y sont stockés. La surcharge permet la réutilisation d’un programme à plusieurs reprises ; par exemple, au lieu de transmettre plusieurs méthodes qui ne sont pas trop différentes les unes des autres, une seule méthode peut être transmise et peut être surchargée. La surcharge d’une fonction rend également un programme plus clair et moins complexe.

Vous ne devez pas utiliser ce processus de manière excessive car il crée une confusion tout en gérant plusieurs fonctions surchargées.

Surcharge de fonction en Python

En Python, une fonction peut être créée et appelée plusieurs fois en lui passant de nombreux arguments ou paramètres. Ce processus d’appel de la même fonction, encore et encore, en utilisant différents arguments ou paramètres s’appelle la surcharge de fonction.

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

Dans ce programme, nous définissons dans un premier temps une classe appelée Home, dans laquelle nous définissons une fonction Knock. Après cela, l’instruction conditionnelle if-else donne différentes conditions basées sur différentes entrées. Ensuite, nous créons un objet appelé DefObj que la classe principale Home utilise pour appeler la fonction Knock. Enfin, nous avons appelé la fonction Knock plus d’une fois en utilisant différents arguments. Par conséquent, nous avons utilisé la surcharge de fonction dans ce programme.

Utilisez Multiple Dispatch Decorator pour effectuer une surcharge de fonction en Python

Les décorateurs en Python sont les outils qui aident à modifier le comportement d’une classe ou d’une fonction particulière dans le programme. Ils sont utilisés pour ajouter d’autres fonctions pour modifier la fonction existante sans réellement la changer.

Un Dispatch Decorator vous aide à sélectionner des implémentations parmi un certain nombre d’exécutions de la même fonction abstraite en fonction de la liste de types donnée.

Jetez un œil à l’exemple de programme ci-dessous :

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)

Production:

17.16
0
27

Ici, vous pouvez transmettre n’importe quel type de données au répartiteur. Le répartiteur est utilisé pour créer un objet avec différentes implémentations. Pendant l’exécution, la fonction appropriée est sélectionnée en utilisant simplement le nom de la fonction, le nombre d’arguments et le type de données des arguments.

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

Article connexe - Python Function