Sobrecarga de funciones en Python

Lakshay Kapoor 30 enero 2023
  1. Definición de sobrecarga
  2. Sobrecarga de funciones en Python
  3. Utilice el Decorador de despacho múltiple para realizar una sobrecarga de funciones en Python
Sobrecarga de funciones en Python

Este artículo habla sobre la sobrecarga de funciones de Python y cómo puede realizarla. Hemos incluido métodos y programas de muestra para que los siga a continuación.

Definición de sobrecarga

En programación, el término sobrecarga ayuda a que una función actúe de varias formas en función de los argumentos y parámetros almacenados en ella. La sobrecarga permite la reutilización de un programa repetidamente; por ejemplo, en lugar de pasar varios métodos que no son muy diferentes entre sí, solo se puede pasar un método y se puede sobrecargar. La sobrecarga de una función también hace que un programa sea más claro y menos complejo.

No debe usar este proceso en exceso porque crea confusión al administrar varias funciones sobrecargadas.

Sobrecarga de funciones en Python

En Python, una función se puede crear y llamar varias veces pasando muchos argumentos o parámetros en ella. Este proceso de llamar a la misma función, una y otra vez, usando diferentes argumentos o parámetros se llama Función Sobrecarga.

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

En este programa, definimos inicialmente una clase llamada Home, en la que definimos una función Knock. Después de eso, la declaración condicional if-else da diferentes condiciones basadas en diferentes entradas. Luego creamos un objeto llamado DefObj que la clase principal Home usa para llamar a la función Knock. Finalmente, hemos llamado a la función Knock más de una vez usando diferentes argumentos. Por lo tanto, hemos utilizado la sobrecarga de funciones en este programa.

Utilice el Decorador de despacho múltiple para realizar una sobrecarga de funciones en Python

Los decoradores en Python son las herramientas que ayudan a modificar el comportamiento de una clase o función en particular en el programa. Se utilizan para agregar otras funciones para modificar la función existente sin cambiarla realmente.

Un Dispatch Decorator le ayuda a seleccionar implementaciones de una serie de ejecuciones de la misma función abstracta según la lista de tipos dada.

Eche un vistazo al programa de ejemplo a continuación:

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)

Producción :

17.16
0
27

Aquí, puede pasar cualquier tipo de datos al despachador. El despachador se utiliza para crear un objeto con diferentes implementaciones. Durante la ejecución, la función apropiada se selecciona simplemente usando el nombre de la función, el número de argumentos y el tipo de datos de los argumentos.

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

Artículo relacionado - Python Function