función Currying con el ejemplo en Python

Python función currying : Aquí, vamos a aprender acerca de la función currying con el ejemplo en Python .

En términos de Matemáticas e Informática, currificación es el método / técnica mediante la cual podemos class función argumento múltiple para la función argumento sencillo.

Mathematical ilustración: h (x) = g (f (x))

La composición de dos funciones es un proceso de encadenamiento en el que la salida se convierte en la entrada break la función externa.

    def currying( g , f ):
def h(x):
return g(f(x))
return h

En el término técnico “Currying es el proceso de transformación de una función que toma ‘n’ argumentos en una serie de la función de ‘n’ que sólo toma un argumento cada uno.”

En el enfoque de resolución de problemas, currying debe ser hecho para simplificar la programación es decir, la ejecución de la función que toma varios argumentos en los individuales – funciones solo argumento.

Ejemplo de código 1:

def f(a):
def g(b, c, d, e):
print(a, b, c, d, e)
return g #as in f it return g this is currying
f1 = f(1)
f1(2,3,4,5)

salida

1 2 3 4 5

Explicación del código anterior:

Ahora, f (1) devuelve la función g (b, c , d, e) que, for todo b , c , d , y e , se comporta exactamente como f (1, b, c, d, e) . Desde g es una función, debería apoyar currificación también.

Ejemplo de código 2:

def f(a):
def g(b):
def h(c):
def i(d):
def j(e):
print(a, b, c, d, e)
return j #return to function i
return i #return to function h
return h #return to function g
return g #return to function f
f(1)(2)(3)(4)(5)

salida

1 2 3 4 5

Explicación del código anterior:

En el código que tenemos, X (a, b, c, d, e) = f (g (h (i (j (a, b, c, d, e))))

Aquí, el concepto es de anidación de una función a otra y por lo tanto el resultado de una función get almacenados o registrados en otra función como una cadena de funciones

Nota:. ahora f (a, b, c, d, e) no más es decir, ahora f no más tomar 5 argumentos

.

ejemplo Python de la función currying a INR convertido a libras

# program to covert the Indian Rupee to Pound
# Demonstrating Currying of composition of function
def change(b, c):
def a(x): #by currying function
return b(c(x))
return a
def IR2USD(ammount):
return ammount*0.014 # as 1IR=0.014USD
def USD2Pound(ammount): # Function converting USD to Pounds
return ammount * 0.77
if __name__ == '__main__':
Convert = change(IR2USD,USD2Pound )
e = Convert(565)
print("Conveted Indian Rupee to Pound:")
print('565 INDIAN RUPEES =',e,'PoundSterling')

salida

Conveted Indian Rupee to Pound:
565 INDIAN RUPEES = 6.0907 PoundSterling


Deja un comentario

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