Kursus
Anda dapat menulis fungsi Python sendiri menggunakan kata kunci def, header fungsi, docstring, dan badan fungsi. Namun, ada cara yang lebih cepat untuk menulis fungsi secara cepat, yang disebut fungsi lambda karena Anda menggunakan kata kunci lambda.
Beberapa definisi fungsi cukup sederhana sehingga dapat diubah menjadi fungsi lambda. Dengan melakukan ini, Anda menulis lebih sedikit baris kode, yang sangat membantu dan akan berguna, terutama saat Anda menulis dan memelihara program besar.
lambda Function
Di sini kita menulis ulang fungsi raise_to_power sebagai fungsi lambda. Setelah kata kunci lambda, kita tentukan nama argumen; lalu, kita gunakan titik dua diikuti ekspresi yang menentukan apa yang ingin kita kembalikan dari fungsi.
raise_to_power = lambda x, y: x ** y
raise_to_power(2, 3)
8
Seperti disebutkan, fungsi lambda memungkinkan Anda menulis fungsi dengan cara cepat dan sederhana, jadi kami tidak menyarankan untuk menggunakannya sepanjang waktu, tetapi ada situasi ketika ini berguna, seperti pada contoh di bawah.
map() and lambda Function
Fungsi map menerima dua argumen, sebuah fungsi dan sebuah urutan seperti list, lalu menerapkan fungsi tersebut ke semua elemen dalam urutan itu. Kita dapat meneruskan fungsi lambda ke map tanpa perlu menamakannya, dan dalam kasus ini, kita menyebutnya sebagai fungsi anonim.
Pada contoh ini, kita menggunakan map() pada fungsi lambda, yang mengkuadratkan semua elemen list, dan kita simpan hasilnya di square_all.
nums = [48, 6, 9, 21, 1]
square_all = map(lambda num: num ** 2, nums)
print(square_all)
<map object at 0x103e065c0>
Mencetak square_all menunjukkan bahwa itu adalah objek map, jadi untuk melihat apa yang dikembalikannya, kita gunakan list untuk mengubahnya menjadi list dan mencetak hasilnya.
print(list(square_all))
[2304, 36, 81, 441, 1]
Contoh Interaktif Menulis Fungsi lambda
Fungsi echo_word di bawah ini menerima 2 parameter: sebuah nilai string, word1, dan nilai integer echo. Fungsi ini mengembalikan string yang merupakan penggabungan dari echo salinan word1.
Anda akan mengonversi fungsi sederhana di atas menjadi fungsi lambda.
def echo_word(word1, echo):
"""Concatenate echo copies of word1."""
words = word1 * echo
return words
Pada contoh berikut, Anda akan:
- Mendefinisikan fungsi lambda
echo_wordmenggunakan variabelword1danecho. Replikasi apa yang dilakukan definisi fungsi asli untukecho_word()di atas. - Memanggil
echo_word()dengan argumen string'hey'dan nilai5, dalam urutan tersebut. Tetapkan pemanggilan keresult. Terakhir, cetak variabelresult.
# Define echo_word as a lambda function: echo_word
echo_word = (lambda word1, echo: word1 * echo)
# Call echo_word: result
result = echo_word('hey', 5)
# Print result
print(result)
Saat kita menjalankan kode di atas, akan dihasilkan keluaran berikut:
heyheyheyheyhey
Untuk mempelajari lebih lanjut tentang fungsi Lambda, silakan lihat video dari kursus kami Python Data Science Toolbox (Bagian 1).
Konten ini diambil dari kursus DataCamp Python Data Science Toolbox (Bagian 1) oleh Hugo Bowne-Anderson.
Lihat juga Tutorial Fungsi Python dari DataCamp.
