uczę właściwości funkcji w Pythonie i natknąłem się na ćwiczenia, które zmierza do:Funkcja dzwoni z 3 lub więcej Argument pól wejściowych - function()()()
Napisz funkcję, która zwraca de moc liczby. Warunki: Funkcja może przyjąć tylko 1 argument i musi użyć innej funkcji, aby zwrócić wartość mocy danej liczby.
Kod, który rozwiązuje tego ćwiczenia jest:
def power(x):
return lambda y: y**x
Na przykład, jeśli chcemy poznać wartość mocy: 2^3, chcielibyśmy wywołać funkcję tak: moc (tam
jakikolwiek sposób napisać funkcję, która, kiedy nazywa, ma podobną strukturę:: 3) (2)
Oto, co chciałbym wiedzieć, function()()(). Innymi słowy, czy możliwe jest napisanie funkcji wymagającej trzech lub więcej nawiasów()()() po wywołaniu? Jeśli to możliwe, czy mógłbyś podać przykładowy kod tej funkcji i krótko ją wyjaśnić?
również:
def power(x):
def power_extra(y):
return y
def power_another(z):
return z
return power_extra and power_another
możliwe?
Dla twojej informacji nazywa się to curry. – rlms