Mengenai Fungsi Lambda
Fungsi lambda dalam python tidak disebutkan namanya dan fungsi tanpa nama yang dapat digunakan untuk membuat ungkapan yang mengembalikan beberapa jenis nilai berdasarkan pengiraan yang dilaksanakan dalam ungkapan itu sendiri. Logik dalam fungsi lambda ini dapat ditulis dengan ringkas, biasanya sesuatu yang sesuai dengan mudah dalam satu baris. Kadang-kadang mereka sukar membaca, terutamanya jika orang tidak mahir dengan fungsi Lambda. Walau bagaimanapun, mereka mempunyai kebaikan untuk menjaga kesatuan dalam blok kod dan mereka lebih membantu dalam memahami konteksnya.
Sintaks Fungsi Lambda
Sintaks fungsi Lambda di Python Nampak seperti ini:
darab = lambda x, y: x * yBahagian pertama ungkapan lambda, tepat sebelum simbol titik dua (:), mengambil parameter sebagai argumen. Bahagian kedua, selepas simbol titik dua, perlu menjadi nilai kembali. Nilai pulangan ini boleh menjadi ungkapan dengan logik juga. Sebenarnya, fungsi Lambda digunakan hampir sepanjang masa untuk menerapkan beberapa logik pada argumen yang dibekalkan dan kemudian mengembalikan hasil akhir.
Untuk menguji fungsi Lambda yang dinyatakan di atas, anda boleh menggunakan pernyataan berikut:
cetak (darab (3, 4))Anda harus mendapat output berikut:
12Fungsi lambda yang sama ditulis dengan cara berikut:
darab def (x, y):pulangan x * y
cetak (darab (3, 4))
Kedua-dua sampel kod akan memberikan output yang sama. Beberapa lagi contoh fungsi Lambda dijelaskan di bawah.
Lulus Fungsi Lambda sebagai Hujah
Anda boleh menggunakan fungsi Lambda untuk melakukan pengiraan dan memberikan nilai kembali sebagai argumen ke fungsi lain. Kaedah susun di Python mengambil argumen "kunci" di mana anda dapat menentukan fungsi yang boleh dipanggil yang memerlukan satu argumen untuk tujuan menyusun. Daripada terlebih dahulu menentukan fungsi terpisah yang mengembalikan kunci dan kemudian memberikan rujukan fungsi ke argumen, anda hanya boleh menggunakan fungsi Lambda.
buah-buahan = [(2, 'epal'), (4, 'oren'), (3, 'pisang')]buah-buahan.urutkan (kunci = elemen lambda: elemen [0])
mencetak (buah-buahan)
Kod di atas akan menghasilkan output berikut:
[(2, 'epal'), (3, 'pisang'), (4, 'jeruk')]Anda boleh menggunakan lambda dalam kaedah apa pun yang menggunakan fungsi panggilan sebagai argumen (kaedah penapis misalnya).
Gunakan Fungsi Lambda dalam Pemahaman Senarai
Anda boleh menggunakan Lambda dalam pemahaman senarai dan senarai akan dibuat dengan betul dari nilai yang dikembalikan oleh ungkapan Lambda.
get_square = lambda a: a * akuasa dua = [get_square (x) untuk x dalam jarak (5)]
mencetak (kotak)
Ini akan menghasilkan output berikut:
[0, 1, 4, 9, 16]Contoh kod di atas juga boleh ditulis dengan cara berikut di mana “x” dibekalkan ke fungsi lambda sebagai argumen:
kuasa dua = [(lambda x: x * x) (x) untuk x dalam jarak (5)]mencetak (kotak)
Contoh ini hanya menggambarkan penggunaan fungsi Lambda dalam pemahaman senarai. Anda boleh dengan mudah mengira kotak menggunakan pernyataan pemahaman senarai minimum:
cetak ([x * x untuk x dalam jarak (5)])Gunakan Fungsi Lambda dalam Kamus Python
Contoh kod di bawah menggambarkan fungsi Lambda yang digunakan dalam pasangan nilai-kunci dalam kamus Python. Setelah ditentukan, anda boleh memanggil fungsi ini pada bila-bila masa.
hitung = 'sum': lambda a, b: a + b, 'difference': lambda a, b: a - bcetak (hitung ['jumlah'] (4, 5))
cetak (hitung ['perbezaan'] (4, 5))
Anda harus mendapatkan output berikut setelah menjalankan kod di atas:
9-1
Kesimpulannya
Fungsi lambda menyediakan cara yang baik untuk menulis ungkapan pendek dan menjaga keadaan kemas dan teratur tanpa perlu membuat banyak fungsi bernama. Walau bagaimanapun, fungsi Lambda yang berlebihan boleh membuat kod sukar dibaca terutama ketika kod sedang dilihat oleh lebih dari satu orang. Lebih baik memiliki kod yang lebih mudah dibaca (walaupun secara verbose) daripada memiliki sesuatu yang mungkin agak sukar difahami pada lawatan.