Saltar al contenido

Funciones parciales en Python

septiembre 28, 2021
14w BZY3pXWkQVgzHEjU Dw

Funciones parciales en Python

Reduzca la complejidad de su código.

Dhanesh Budhrani

5 de enero de 2020·2 min de lectura

1*4w BZY3pXWkQVgzHEjU Dw

En esta publicación hablaré sobre funciones parciales y cómo podemos usarlas para hacer nuestro código más limpio.

¿Qué pueden hacer las funciones parciales por nosotros?

Una función parcial nos permite llamar a una segunda función con valores fijos en certaen argumentos. Por ejemplo, podemos tener una función que calcula una exponenciación. Luego, es posible que necesitemos crear una nueva función que asigne un valor fijo a la base o al exponente. Podemos hacer esto fácilmente usando la función parcial de functool, sin tener que replicar el cuerpo de la función original. Repasemos la implementación del ejemplo anterior para comprenderlo mejor.

Implementar una función de exponenciación parcial

En primer lugar, necesitaremos la función en la que se basará la función parcial. Como se mencionó anteriormente, implementaremos una función de exponenciación:

def power(base, exponent):
return base ** exponent

Ahora, es posible que deseemos implementar una función que calcule el valor al cuadrado de un número. Si no tuviéramos funciones parciales disponibles en Python, tendríamos que replicar (y adaptar) nuestro código:

def squared(base):
return base ** 2

En este caso, no fue un gran problema, ya que solo tuvimos que replicar una línea de código. Sin embargo, en la mayoría de las situaciones, tendrá que lidiar con funciones más grandes. Veamos cómo reutilizar «power ()» con una función parcial:

from functools import partialdef power(base, exponent):
return base ** exponent
squared = partial(power, exponent=2)

Finalmente, podemos llamar a «cuadrado ()» simplemente de la siguiente manera:

squared(3)
squared(base=7)

¡Eso es todo! ¡Espero que las funciones parciales se conviertan en una herramienta útil para ti y te ayuden a reducir la complejidad de tu código!

close