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.

Coba Solusi ini di Editor

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.

lambda_functions.py
Coba di Editor
# 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)
Keluaran Terminal
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

Sumber Daya Python yang Direkomendasikan

Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.