Lista parametrów jest dodawana, gdy deklarujemy je za pomocą słowa kluczowego „def”, nadaj im nazwę i umieszczamy okrągłe nawiasy wokół listy argumentów. Może istnieć kilka wierszy kodu, z których każdy zawiera tyle stwierdzeń i wyrażeń, zgodnie z wymaganiami. Istnieją jednak sytuacje, w których możemy chcieć funkcji z jednym wewnętrznym wyrażeniem, na przykład gdy potrzebujemy funkcji, która podwaja argument.
Możemy użyć metody podwójnej () wraz z funkcją map ().
Biorąc pod uwagę, że funkcja Lambda może być zbudowana dokładnie tam, gdzie jest potrzebna, byłoby to doskonałe miejsce do użycia jednego. Powoduje to napisanie mniejszych wierszy kodu i zapobieganie tworzeniu wymienionych funkcji, które są kiedykolwiek nazywane tylko raz (a następnie muszą być przechowywane w pamięci).
Definicja funkcji Lambda
To są metody bez nazwisk. Warunki funkcje anonimowe i bezimienne są również używane do ich opisania. Zamiast nazwy termin „lambda” służy jako słowo kluczowe. Anonimowa natura funkcji, która pojawia się następna, jest wskazywana przez ten termin.
Po co używać funkcji Python Lambda
Podstawowym zastosowaniem funkcji anonimowych jest to, że określona funkcja jest wymagana tylko raz. Mogą być produkowane w dowolnym miejscu, które ich potrzebują. Funkcje Python Lambda są zatem czasami określane jako metody wyrzucania, ponieważ są one wykorzystywane w połączeniu z innymi predefiniowanymi funkcjami, takimi jak Filter (), map () i inne funkcje. W porównaniu ze standardowymi funkcjami Python, funkcje te pomagają w zmniejszeniu liczby linii w kodzie.
Jak wykorzystać metody Lambda w Pythonie
Gdy wymagane jest krótkie wyrażenie, takie jak parametr dla złożonej metody, stosuje się funkcje Lambda.
Składnia funkcji Lambda jest następująca:
Wyrażenie, które składa się na ciało funkcji, jest zapisane po terminu lambda, jedna przestrzeń, lista wszystkich parametrów oddzielonych przecinkami i okrężnicy.
Liczba parametrów, których używamy w funkcji Lambda, zależy od nas. Ale w ciele można zastosować tylko jedno wyrażenie.
Zauważamy, że chociaż może istnieć nieograniczona liczba parametrów, może istnieć tylko jedno wyrażenie na argument. Instrukcja powrotu, która jest zazwyczaj częścią składni dla definicji funkcji, jest tutaj nieobecne.
Składnia jest wyjaśniona przez zdefiniowanie argumentu i wyrażeń. Niech „y” będzie argumentem, a „y+y” jest wyrażeniem.
Przed przejściem do rzeczywistego tematu porozmawiajmy o niektórych technicznych aspektach funkcji Lambda oraz o tym, co społeczność Python uważa za ich zalety i wady.
Profesjonaliści:
Dobra do wyraźnych, prostych procedur logicznych. To poprawia czytelność kodu.
Skuteczne, gdy potrzebujemy jednorazowej funkcji użytkowania.
Cons:
Są one ograniczone do użycia jednej frazy. Jedna funkcja Lambda nie może obejmować wielu niezależnych operacji.
Niekorzystne dla działań, które potrzebowałyby więcej niż jednego stwierdzenia w standardowej definicji funkcji. Użyj nazwanej funkcji na swoim miejscu, jeśli zajmie nam więcej niż minutę, aby uchwycić kod.
Przykład 1:
Utworzymy funkcję Lambda, która zwielokrotnie jej atrybut przez 2.
Teraz wykonujemy program za pomocą poprzedniej składni.
Zadeklarujemy listę 6 liczb całkowitych w ramach zmiennej „my_list”. Następnie wykorzystujemy funkcję Lambda wraz z funkcją map () w nowej zmiennej -„nowa lista”. W końcu używamy funkcji print () i otrzymujemy pożądane wyjście.
Obserwuj odmienności między tą metodą a podwójną funkcją, o której pisaliśmy wcześniej. Ten jest łatwiejszy do zarządzania i wykorzystuje mniej pamięci, ponieważ nie zawiera dodatkowej funkcji. Wymaga tylko jednego kodowania liniowego, który jest łatwy w użyciu.
Przykład 2:
Funkcję Lambda można również użyć do znalezienia wymaganych liczb całkowitych lub łatwego i alternatywnego ustawienia liczb. Możemy utworzyć funkcję Lambda, która określa, czy liczba całkowita jest pozytywna.
Kolejny przykład jest prowadzony przez użycie wcześniej wspomnianej składni.
Zacznij od ogłoszenia listy 6 liczb w ramach zmiennej określonej jako „My-list”. Po zainicjowaniu wartości listy używamy funkcji Lambda wraz z funkcją Filter () w zmiennej „nowej listy”. Aby wydrukować wyjście w ostatnim kroku, stosujemy funkcję print ().
Zapobiega to przechowywaniu nazwanej funkcji w pamięci, ponieważ funkcja Lambda jest zadeklarowana podczas jej wykorzystywania. Aby zapobiec bałaganowi, należy użyć funkcji Lambda, gdy funkcja jest wywoływana tylko raz i uzyskanie pożądanego wyjścia za pomocą wzoru pojedynczego liniowego.
Przykład 3:
Wiele stwierdzeń nie jest dozwolonych w funkcjach Lambda. Ale możemy zbudować dwie funkcje Lambda, a następnie wywołać jeden z nich jako parametr innej funkcji Lambda. Za pomocą Lambda spróbujmy zlokalizować drugi największy element:
Tutaj inicjujemy zestaw liczb całkowitych w zmiennej „List”. Po utworzeniu listy i określeniu zmiennej opracowaliśmy funkcję Lambda, która sortuje każdą podpisę dostarczonej listy. Druga funkcja Lambda, która pobiera element n-2 z posortowanej listy i zwraca n jako długość listy podrzędnej, jest następnie wywoływana za pomocą tej listy jako argumentu.
Przykład 4:
Funkcja i lista są akceptowane jako parametry przez funkcję map (). Nowa lista zawierająca wszystkie elementy zmodyfikowane lambda dostarczone przez tę metodę dla każdego elementu jest zwracane, gdy metoda jest wywoływana metodą Lambda i listę.
Zaczynamy od listy 10 liczb całkowitych w zmiennej „lista”. Następnie wykorzystujemy dwie funkcje (mapa i lambda) razem w „listach końcowych”. Ostatecznie reprezentujemy nasze dane wyjściowe, wykorzystując funkcję print ().
Przykład 5:
Korzystamy z funkcji Lambda () z Ruck (). Funkcja i lista to dwa argumenty zaakceptowane przez funkcję Pythona Ruck (). Wynik jest zwracany, gdy metoda jest wywoływana metodą lambda i iterabiną. Korzystając z wartości pary iterable, powtarza to operację. Moduł „Functools” znajduje się w miejscu, w którym znajduje się metoda reduku.
Po zintegrowaniu modułu „zmniejsz” z „Functools”, tworzymy listę 6 liczb całkowitych i deklarujemy zmienną jako „listę”. Następnie skorzystaj z lambda i zmniejsz funkcję w zmiennej „suma”, aby pokazać wyjście. Wykorzystaliśmy funkcję print ().
Wniosek
W tym przewodniku wyjaśniliśmy funkcje Lambda. Są one zdefiniowane jako funkcje, jeśli nasza funkcja ma tylko jedno krótkie wyrażenie. Chociaż wykazaliśmy tutaj, że są one łatwe w użyciu na dowolnym poziomie, nie są one powszechnie stosowane przez programistów. Aby lepiej zrozumieć, jakie są funkcje Lambda i w jaki sposób można wykorzystać te funkcje, aby zmniejszyć rozmiar lub długość funkcji, zaimplementowaliśmy również niektóre kody w artykule wraz z niektórymi zaletami i wadami, aby można poznać zalety i wady korzystania z funkcji Lambda przed użyciem, uzyskaj lepszy przegląd sytuacji i czy funkcja Lambda ma zastosowanie w takiej sytuacji, czy nie.