Apa Fungsi Lambda pada Bahasa Python?

 Apa Fungsi Lambda pada Bahasa Python?


Dalam Python, ada peranan anonim yang memiliki arti jika satu peranan tidak mempunyai nama. Sama seperti yang telah kita kenali jika keyword def dipakai untuk mendeskripsikan peranan normal di Python.


Beda hal dengan keyword def yang mendeskripsikan peranan normal di Python, keyword lambda dipakai untuk mendeskripsikan peranan anonim di Python. Pada seri panduan Python ini kali, Codekey akan mengulas mengenai peranan Lambda Python. Jika kamu tertarik sama ulasan peranan lambda Python ini kali, baca terus artikel ini sampai akhir.


Fungsi Lambda Python


lambda python


Lambda Python ialah keyword yang dipakai untuk tangani peranan anonim atau peranan yang tidak mempunyai nama. Peranan yang tidak mempunyai nama (anonym) ialah peranan kecil dan terbatas yang mempunyai tidak lebih satu baris. Sama dengan peranan normal, peranan Lambda bisa banyak memiliki argument dengan 1 gestur.


Dalam Python, gestur lambda (atau wujud lambda) dipakai untuk membuat peranan anonim. Untuk melakukan, Kamu akan memakai keyword lambda (sama dengan Kamu memakai def untuk mendeskripsikan peranan normal). Tiap peranan anonim yang Kamu artikan dengan Python akan mempunyai 3 sisi penting:


Keyword lambda,

Patokan (atau faktor terlilit),

Tubuh peranan.


Peranan lambda bisa mempunyai beberapa patokan, tapi tubuh peranan cuman bisa berisi satu gestur. Disamping itu, lambda dicatat pada sebuah baris code dan dapat selekasnya diundang. Berikut ialah contoh syntax lambda Python:


Syntax: lambda arguments: expression


Peranan ini bisa mempunyai beberapa argument tapi cuman satu gestur, yang dipelajari dan dibalikkan. Seorang bebas memakai peranan lambda di mana saja object peranan dibutuhkan.


Kamu perlu ingat jika peranan lambda terbatasi secara sintaksis untuk satu gestur.

Peranan lambda dengan bahasa pemrograman Python mempunyai beragam manfaat di bagian pemrograman tertentu selainnya tipe gestur lain dalam peranan.


Berikut ialah contoh syntax di mana kamu harus berusaha untuk pahami ketidaksamaan peranan pengertian def normal dan peranan lambda.

# ketidaksamaan di antara def() dengan lambda().

def kubus(i):

return i*i*i


lambda_kubus = lambda i: i*i*i


# panggilan def() dan lambda()

# cetak hasil pada def()

print(kubus(10))


# cetak hasil pada lambda()

print(lambda_kubus(10))

Output:

1000

1000


Artikel Berkaitan Panduan Python 1 : Pengenalan Bahasa Pemrogaman Python untuk Pemula


Seperti yang bisa kita saksikan pada contoh di atas, peranan kubus() dan peranan lambda_kubus() melakukan tindakan sama dan seperti yang diartikan. Berikut, kami akan ajak Kamu menganalisa contoh di atas:


Tanpa menggunakan Lambda


Di sini, ke-2 nya kembalikan pangkat tiga dari angka yang diberi. Tetapi, saat memakai def, kita perlu mendeskripsikan peranan bernama kubus dan harus memberinya nilai ke situ. Sesudah eksekusi, kami perlu kembalikan dari hasil tempat peranan diundang memakai keyword return.


Menggunakan Lambda


Pengertian Lambda tidak mengikutkan pengakuan "back" atau kembali, selalu berisi gestur yang dibalikkan. Kami dapat tempatkan pengertian lambda di mana saja peranan diharap, dan kami tidak harus memutuskannya ke faktor sama sekalipun. Ini ialah kesederhanaan peranan lambda.


Peranan Lambda bisa dipakai bersama dengan peranan bawaan seperti filter(), map() dan reduce().

Implementasi Lambda pada Bahasa Pemrograman Python

Contoh 1


Membuka IDLE Kamu, dan tuliskan sintaks berikut di bawah ini:

kalkulasi = lambda i, j: i + j

print (kalkulasi (49, 51))


Berikut outputnya:


100


Penjelasan code di atas:


Pada code di atas kami mendeskripsikan faktor yang bakal memuat hasil yang dibalikkan oleh peranan lambda.


Keyword lambda yang dipakai untuk mendeskripsikan peranan anonim.

i dan j ialah patokan yang kita lalui ke peranan lambda.

Code di atas ialah isi pada peranan, yang menambah 2 patokan yang kita lalui. Lihat jika dia sebagai gestur tunggal. Kamu tidak bisa menulis banyak pengakuan di tubuh peranan lambda.


Kami panggil peranan dan cetak nilai yang dibalikkan.


Contoh 2 :


Berikut ialah contoh dasar untuk pahami esensial dan sintaks dari lambda. Saat ini coba untuk cetak lambda dan saksikan hasilnya! Bukalah IDLE kamu dan tuliskan code berikut:

pesan='Selamat Belajar'

print(lambda string : print(pesan))


Saat ini taruh filemu dan pencet F5 untuk jalankan program. Ini ialah output yang bakal kamu peroleh.

at 0x7fe4b941ddc0>


Bila kamu masih bimbang berikut ialah keterangan kodenya:


Pada code di atas kami mendeskripsikan string yang bakal Kamu beri sebagai patokan ke lambda.

Kami mengumumkan lambda yang panggil pengakuan print dan cetak hasilnya.


Tapi kenapa program tidak cetak string yang kita lalui? Ini karena lambda tersebut kembalikan object peranan. Dalam perumpamaan ini, lambda tidak diundang oleh peranan bikin tapi cuman kembalikan object peranan dan lokasi memory tempat diletakkannya. Itu yang diciptakan di konsol.

Contoh 3 :


Bila kamu menulis programnya semacam ini:

pesan="Contoh 2"

(lambda pesan : print(pesan))(pesan)


Dan menjalankannya dengan tekan F5, kamu akan memperoleh output berikut di bawah ini:

Contoh 2


Saat ini, lambda sedang diundang, dan string yang kita lalui akan diciptakan di konsol. Tetapi apa sintaks aneh itu, dan kenapa pengertian lambda tercakup dalam pertanda kurung? Silahkan pahaminya bersama. Ini ialah keterangan mengenai code di atas:


Berikut string yang serupa yang kita artikan pada contoh awalnya.

Pada bagian ini, kita mendeskripsikan lambda dan panggilnya selekasnya dengan melewati string sebagai argument. Ini ialah suatu hal yang disebutkan IIFE, dan kamu akan pelajarinya selanjutnya pada bagian seterusnya dari panduan ini.


Artikel Berkaitan Panduan Python 4 : Langkah Gampang Membuat Daftar Memakai Python


Contoh 4 :


Berikut ialah contoh untuk pahami lambda dan peranan reguler yang dilakukan. Sama dalam sebelumya, membuka IDLE dan file baru, tuliskan code berikut ini:

def test(funct, *args):

funct(*args)

def pesan_awal(a):

return print (a)

def pesan_akhir(b):

print(b)

test(pesan_awal, 'Selamat Belajar')

test(pesan_akhir, 'Lambda Python n')

test(lambda: pesan_awal('Selamat Belajar'))

test(lambda: pesan_akhir('Lambda Python'))


Selanjutnya, taruh file dan pencet F5 untuk jalankan program. Bila kamu tidak membuat kekeliruan, hasilnya akan berikut di bawah ini.


Selamat Belajar


Lambda Python


Selamat Belajar


Lambda Python


Keterangan code:


Sebuah peranan yang disebutkan ‘test' yang ambil peranan lain sebagai patokan pertama dan argument yang lain ikutinya.

pesan_awal ialah peranan simpel yang cetak patokan yang dilanjutkan ke situ dan mengembalikannya.

pesan_akhir serupa dengan pesan_awal tapi tanpa pengakuan pengembalian.

Di bagian ini, kita panggil peranan tes dan melewati peranan printer dan string sebagai patokan.

Code di atas ialah sintaks untuk capai cara ke-4 (yakni, panggil peranan tes) tapi memakai lambda.

Pada bagian seterusnya, Anda akan pelajari langkah memakai peranan lambda dengan map(), reduce(), dan filter() dengan Python.


Menggunakan fungsi lambda() dengan filter()


Peranan filter() dalam Python ambil peranan dan daftar sebagai argument. Ini juga tawarkan langkah yang menawan untuk memfilter semua komponen dari posisi "order", yang kembalikan peranan True. Berikut program kecil yang kembalikan angka genap dari daftar input:

nilai = [54, 71, 43, 90, 61, 55, 38, 36, 20, 2]

genap_list = list(filter(lambda i: (i%2 != 1) , nilai))

print(genap_list)


Output yang dibuat:


[54, 90, 38, 36, 20, 2]

Memakai Peranan lambda() dengan map()


Peranan map() dalam Python ambil peranan dan daftar sebagai argument. Peranan diundang dengan peranan lambda dan daftar dan daftar baru dibalikkan yang berisi semua poin modifikasi lambda yang dibalikkan oleh peranan itu untuk tiap poin. Contoh:

nilai_list = [1, 2, 3, 4, 5]

hasil_list = list(map(lambda i: i*12, nilai_list))

print(hasil_list)


Hasilkan output:


[12, 24, 36, 48, 60]


Memakai peranan lambda() dengan reduce()


Peranan reduce() dalam Python ambil peranan dan daftar sebagai argument. Peranan diundang dengan peranan lambda dan iterable dan hasil pengurangan baru dibalikkan. Ini akan lakukan operasi berulang-ulang pada pasangan iterable. Peranan reduce() punya modul functools.

from functools impor reduce

nilai = [89, 54, 39, 21, 60, 76, 10]

hasil_sum = reduce((lambda i, j: i + j), nilai)

print (hasil_sum)

Output:

349


Demikian keterangan mengenai lambda python. Lambda memiliki kemiripan dengan def, sama untuk mendeskripsikan peranan pada bahasa pemrograman Python. Perbedaannya, lambda khusus untuk mendeskripsikan peranan anonym.


Posting Komentar

Lebih baru Lebih lama

نموذج الاتصال