Cara Menggunakan Fungsi Lambda dengan Python (Fungsi Anonim)
Pelajari cara menggunakan fungsi lambda dengan Python. Kuasai fungsi anonim, panggilan balik sebaris, dan pengurutan data daftar dengan kunci lambda.
Ikhtisar
Di Python, fungsi adalah warga negara kelas satu, yang berarti mereka dapat ditugaskan ke variabel, diteruskan sebagai argumen ke fungsi lain, dan dikembalikan dari fungsi. Meskipun fungsi standar dideklarasikan menggunakan kata kunci `def`, Python juga menyediakan sintaksis singkat untuk membuat fungsi inline anonim: fungsi `lambda`.
Fungsi lambda didefinisikan dengan kata kunci `lambda`, diikuti dengan daftar argumen, titik dua, dan ekspresi tunggal. Sintaksnya adalah `argumen lambda: ekspresi`. Berbeda dengan fungsi `def`, lambda tidak memerlukan pernyataan `return`; hasil ekspresi dikembalikan secara otomatis. Mereka terbatas pada satu baris logis, menjadikannya ideal untuk operasi sederhana dan satu kali saja.
Fungsi Lambda paling sering digunakan sebagai argumen untuk fungsi tingkat tinggi seperti `sorted()`, `map()`, dan `filter()`. Misalnya, Anda dapat meneruskan fungsi lambda ke argumen `key` `sorted()` untuk menentukan kriteria pengurutan khusus, atau menggunakannya sebagai fungsi callback ringan di dalam aplikasi grafis atau berbasis peristiwa.
Kode & Output Eksekusi
Skrip ini mendemonstrasikan pembuatan fungsi anonim ringan menggunakan lambda.
# 1. Simple lambda function assigned to a variable
double = lambda x: x * 2
print("Double of 5:", double(5))
# 2. Multi-argument lambda
add = lambda x, y: x + y
print("Sum of 3 + 4:", add(3, 4))
# 3. Using lambda as a sorting key (sorting by age)
people = [
{"name": "Alice", "age": 28},
{"name": "Bob", "age": 22},
{"name": "Charlie", "age": 35}
]
people.sort(key=lambda person: person["age"])
print("Sorted by age:", people)Double of 5: 10
Sum of 3 + 4: 7
Sorted by age: [{'name': 'Bob', 'age': 22}, {'name': 'Alice', 'age': 28}, {'name': 'Charlie', 'age': 35}]Implementasi Langkah demi Langkah
- Tulis kata kunci lambda diikuti dengan nama parameter yang dipisahkan koma.
- Tempatkan titik dua, diikuti dengan satu ekspresi yang ingin Anda evaluasi dan kembalikan.
- Teruskan lambda secara langsung sebagai callback ke fungsi seperti sortir(), map(), atau filter().
Pertanyaan yang Sering Diajukan
Bisakah fungsi lambda berisi loop atau beberapa pernyataan?
Tidak, fungsi lambda di Python terbatas pada satu ekspresi. Jika Anda memerlukan logika, loop, atau penetapan variabel yang kompleks, Anda harus mendefinisikan fungsi standar menggunakan def.
Haruskah saya menetapkan fungsi lambda ke variabel?
Umumnya tidak. Pedoman PEP 8 menyarankan penggunaan pernyataan def standar daripada menetapkan lambda ke variabel, karena fungsi standar memberikan nama pelacakan tumpukan yang lebih baik.
Topik Terkait
Pelajari cara mengurutkan daftar dengan Python menggunakan metode sortir() dan fungsi sortir(). Temukan contoh pengurutan kunci khusus dan urutan terbalik.
Cara Menggunakan Pemahaman Daftar dengan PythonPelajari cara menggunakan pemahaman daftar dengan Python. Tulis loop ringkas, terapkan filter bersyarat, dan buat matriks dengan sintaksis visual yang bersih.
Sumber Daya Python yang Direkomendasikan
Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.
Fungsi Python
Fungsi master Python. Pelajari cara menulis kode yang dapat digunakan kembali menggunakan def, menentukan argumen, mengembalikan nilai, dan memahami cakupan lokal dan global.
Lembar
Panduan referensi cepat untuk perpustakaan standar matematika Python. Pelajari cara menggunakan fungsi trigonometri, logaritma, pembulatan, dan aritmatika.
Python vs JavaScript: Bahasa Pemrograman Mana yang Terbaik?
Perbandingan komprehensif antara Python dan JavaScript. Jelajahi perbedaan sintaksis, kinerja, kasus penggunaan (backend vs frontend), dan contoh pengkodean.