Menu
Coddy logo textTech

Zwracane przez funkcję

Lekcja 4 z 9 w kursie Funkcje lambda w Pythonie w Coddy.

Innym interesującym zastosowaniem funkcji lambda jest zwracanie jej z funkcji.

Na przykład,

def power_of(a):
	return lambda b : b ** a

cube = power_of(3)  # przechowuje lambda b : b ** 3
square = power_of(2)  # przechowuje lambda b : b ** 2
square_root = power_of(0.5)  # przechowuje lambda b : b ** 0.5

print(cube(4))  # wyświetla 64
print(square(4))  # wyświetla 16
print(square_root(4))  # wyświetla 2

Jak widzisz, to sposób na tworzenie wielu małych funkcji.

Możliwe jest również utworzenie funkcji lambda, która zwraca funkcję lambda (gdy jest to jedno wyrażenie),

power_of = lambda a : lambda b : b ** a

print(power_of(2)(5))  # wypisuje 25 = 5 ** 2
challenge icon

Wyzwanie

Łatwy

Utwórz funkcję o nazwie message_constructor, która otrzymuje dwa ciągi znaków: imię i nazwisko. Nazwisko może mieć wartość None.

Funkcja utworzy imię i nazwisko z tych dwóch argumentów, zgodnie z następującymi warunkami:

  • Jeśli istnieje tylko imię, nazwa będzie równa imieniu
  • Jeśli istnieją oba argumenty, funkcja połączy je, wstawiając między nimi spację.

Funkcja zwróci funkcję lambda, która otrzyma jeden argument i zwróci ciąg znaków.

Przyjrzyj się przypadkom testowym, aby zrozumieć wymagany format zwracany przez funkcję lambda.

Spróbuj swoich sił

def message_constructor(first, last):
    # Napisz tutaj kod

Wszystkie lekcje w sekcji Funkcje lambda w Pythonie

1Wyrażenia lambda

WprowadzenieSkładniaZ argumentamiZwracane przez funkcję

2Z wbudowanymi funkcjami

filtermap

Poćwicz samodzielnie: Kompilator Python online