in

Funciones parciales en Python

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!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

013qJ72lCgb4xDErTNO7JDt 1.1632838811.fit lim.size 1200x630

La directora ejecutiva de AMD, Lisa Su, ve que la escasez de chips se aliviará en 2022

oracle social share fb 480 2516041

Biblioteca de análisis de HTML jsoup para desarrolladores de Java