El mundo es llevado sobre una tortuga gigante, que a su vez va en la espalda de otra tortuga gigante, y esa tortuga está sobre otra tortuga gigante.
Requerimientos:
z = lambda x: x + x
def x4(x):
return lambda y: x(y) * 2
x4(4)
>> <function x4.<locals>.<lambda> at 0x7f6ef78b7620>
x4(z)(3)
>> 12
Produce una nueva función cuando los argumentos no están completos.
from functools import partial
basetwo = partial(int, base=2)
basetwo.__doc__ = 'Convert base 2 string to an int.'
basetwo('10010')
>>18
En el caso de Python no existen estructuras pero podemos utilizar tuplas.
from collections import namedtuple
Point = namedtuple('Point', 'x y')
pt1 = Point(1.0, 5.0)
pt2 = Point(2.5, 1.5)
from math import sqrt
line_length = sqrt((pt1.x-pt2.x)**2 + (pt1.y-pt2.y)**2)
Es el encadenamiento de funciones para generar un nuevo valor.
from fn import F
F(int)
>> <fn.func.F object at 0x7f58b0f3c3d8>
F(int) << F(str)
>> <fn.func.F object at 0x7f58b0f3c618>
c = F(int) << F(str)
c(111)
>> 111
str(111)
>> '111'
int(str(111))
>> 111