Preferencja dot. lambdy nad standardowymi funkcjami

0

czy uzywac lambdy zawsze zamiast funkcji bo są krotsze? czy służą tylko do skracania zapisu funkcji?

6

„Zawsze” to bardzo mocne słowo… Jak używasz jakiejś funkcji wiele razy, w wielu oddalonych od siebie miejscach w programie — albo chociaż silnie podejrzewasz, że możesz, to „pełny” zapis funkcyjny będzie zapewne wygodniejszy/czytelniejszy, niż przypisywanie lambdy do zmiennej.

I przeciwnie, jak jakąś funkcję używasz raz i fajrant — np. w parametrze jakiejś innej funkcji — to wtedy lambda jak znalazł.

53

Lambdy to funkcje anonimowe tak w skrócie. Głównie używa się ich jako wsady do innych funkcji np agregujących, gdzie zależy nam jedynie na wyrażeniu. Skracamy kod i zwiększamy czytelność.

W każdym innym przypadku lepiej stworzyć zwykłą funkcję, bo jest czytelniej.

Lambd używa się coraz rzadziej tak btw. Chociażby z pójścia do lamusa takich metod jak map, czy filter, które wypchało comprehension. Use casy dla lambd to głównie funkcje z dedykowanych libek, czy frameworków (np pyspark).

1 użytkowników online, w tym zalogowanych: 0, gości: 1