Funciones parciales en Python
Reduzca la complejidad de su código.
Dhanesh Budhrani
5 de enero de 2020·2 min de lectura
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 ** exponentsquared = 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!