Sebelum membaca artikel ini, seharusnya Anda sudah memahami terlebih dahulu tentang fungsi. Artikel ini membahas lanjutan dari dasar fungsi di Python. Fungsi lanjutan ini terdiri dari rungsi rekursi dan fungsi lambda (fungsi anonim). Fungsi Rekursi Fungsi rekursi adalah fungsi yang memanggil dirinya
sendiri secara berulang. Jadi di dalam tubuh fungsi kita memanggil fungsi itu sendiri. Di dalam matematika, kita mengenal tentang faktorial. Faktorial adalah perkalian bilangan asli berturut – turut dari n sampai dengan 1. Faktorial n dinotasikan dengan n! dimana Pada contoh di atas, fungsi Rekursi fungsi berakhir saat bilangan sudah berkurang menjadi 1. Ini disebut sebagai kondisi dasar (base condition). Setiap fungsi rekursi harus memiliki kondisi dasar. Bila tidak, maka fungsi tidak akan pernah berhenti (infinite loop). Keuntungan Menggunakan Rekursi Kerugian Menggunakan Rekursi Fungsi Anonim (Lambda) Salah satu fitur python yang cukup berguna adalah fungsi anonim. Dikatakan fungsi anonim karena fungsi ini tidak diberikan nama pada saat didefinisikan. Pada fungsi biasa kita menggunakan kata kunci Sintaks Fungsi Lambda Fungsi lambda memiliki sintaks seperti berikut: lambda arguments: expression Fungsi lambda bisa mempunyai banyak argumen, tapi hanya boleh memiliki satu ekspresi. Ekspresi tersebutlah yang dikembalikan sebagai hasil dari fungsi. Fungsi lambda bisa kita simpan di dalam variabel untuk digunakan kemudian.
Tanpa menggunakan lambda, contoh fungsi di atas akan menjadi seperti berikut: >>> def kuadrat(x): return x**2 >>> kuadrat(3) 9 >>> def kali(x,y): return x*y >>> kali(4,3) 12 Penggunaan Fungsi Lambda Lambda digunakan pada saat kita membutuhkan fungsi anonim untuk saat yang singkat. Di Python, fungsi lambda sering digunakan sebagai argumen untuk fungsi yang menggunakan fungsi lain sebagai argumen seperti fungsi Contoh Penggunaan Lambda Dengan Fungsi filter() Fungsi filter mengambil dua buah argumen, yaitu satu buah fungsi dan satu buah list. Sesuai dengan namanya filter (penyaring), fungsi akan menguji semua anggota list terhadap fungsi, apakah dan mengambil hasil yang bernilai True. Hasil keluarannya adalah sebuah list baru hasil filter. Berikut adalah contohnya:
Contoh Penggunaan Lambda Dengan Fungsi
map() Fungsi map() mengambil dua buah argumen, yaitu satu buah fungsi dan satu buah list. Fungsi map() akan memetakan atau memanggil fungsi dengan satu persatu anggota list sebagai argumennya. Hasilnya adalah list baru hasil dari keluaran fungsi terhadap masing-masing anggota list. Berikut adalah contohnya:
Silahkan masuk atau daftar agar skor dan code anda tersimpan.
LambdaKita sudah belajar untuk membuat function yaitu dengan lambda x: x % 2 == 0 code di atas sama dengan: def is_genap(x): Perbedaannya adalah lambda tidak memerlukan nama selayaknya lambda x, y: x + y yang sama dengan: def tambah(x, y): Lambda
kekuatannya akan terlihat jika kita menggunakan list_saya = range(11) Di argumen pertama dari filter kita berikan sebuah lambda, di argumen keduanya kita berikan list yang akan disaringnya. Lambda yang kita berikan memberikan nilai Instruksi: Mungkin untuk sekarang gunanya lambda belum terlalu jelas buat anda. Tapi itu tidaklah masalah, yang utama sekarang adalah anda tahu bahwa lambda itu ada dan jika anda menemukan code ini di modul orang lain, anda tidak akan terkejut. Lengkapi function lambda di samping yang hanya akan mencetak angka yang lebih besar daripada
Forum Diskusi acak = [2, 18, 9, 22, 4, 17, 24, 8, 12, 22, 18, 1, 30, 4, 14, 1, 23, 51, 8, 31, 13, 27] print filter(lambda x: , acak) Apa itu lambda di Python?Lambda expression di Python adalah sebuah ekspresi untuk membuat fungsi. Lambda sendiri berasal dari teori kalkulus, yakni Lambda Calculus yang dikenalkan oleh Alonzo Church di tahun 1930. Berkat lambda, kita bisa membuat fungsi tanpa nama atau dikenal juga dengan anonymous function.
Apa kegunaan lambda?Gunakan fungsi LAMBDA untuk membuat fungsi kustom yang dapat digunakan kembali dan memanggilnya dengan nama yang mudah dikenali.
Apakah yang dimaksud dengan lambda atau anonymous function?Dalam Python, kita dapat membuat suatu fungsi sederhana yang mengembalikan nilai, yang pendefinisiannya menggunakan operator lambda. Fungsi ini sering disebut lambda function atau fungsi tanpa nama (anonymous function).
|