Cara menggunakan python map example

Pada tutorial sebelumnya, kita pernah belajar membuat fungsi di Python dengan

lambda x,y : x**2 + y**2
1. Kali ini kita akan membahas cara membuat fungsi dengan lambda expression.

Membuat fungsi dengan lambda expression, berbeda dengan

lambda x,y : x**2 + y**2
1. Bahkan, lambda expression memiliki kelebihan yang tidak dimiliki
lambda x,y : x**2 + y**2
1.

Nah di tutorial ini, kita akan membahas konsep dasar lambda di python dilengkapi dengan contohnya.

Harapannya, nanti kamu akan bisa paham cara membuat fungsi dengan lambda expression serta dapat menggunakannya dalam program.

Baiklah, mari kita mulai…

Apa itu Lambda Expression?

Lambda expression di Python adalah sebuah ekspresi untuk membuat fungsi.

Lambda sendiri berasal dari teori kalkulus, yakni Lambda Calculusyang dikenalkan oleh Alonzo Church di tahun 1930.

Berkat lambda, kita bisa membuat fungsi tanpa nama atau dikenal juga dengan anonymous function.

Misalkan kita punya fungsi penjumlahan kuadrat seperti ini:

def suqare_sum(x,y):
  return x**2 + y**2

Nah, dengan lambda.. kita tidak perlu menggunakan

lambda x,y : x**2 + y**2
1 dan
lambda x,y : x**2 + y**2
5, bahkan kita juga tidak perlu menuliskan namanya.

lambda x,y : x**2 + y**2

Lah! terus nanti bagiaman cara memanggilnya?

Kan gak punya nama 🤔?

Mari kita bahas dulu…

Cara Menggunakan Lambda Expression

Nah sudah tahu kan apa itu Lambda?

Intinya, lambda digunakan untuk membuat fungsi dalam satu baris ekspresi.

Ini adalah format untuk membuat fungsi lambda:

Cara menggunakan python map example

Lambda bisa memiliki lebih dari satu argumen atau parameter, tapi hanya bisa memiliki satu ekspresi atau isi.

Contoh:

greeting = lambda name: print(f"Hello, {name}") 

Karena fungsi lambda tidak punya nama, jadi kita butuh variabel untuk menyimpannya.

Nanti saat kita mau panggil, kita tinggal tuliskan saja nama variabelnya seperti ini:

greeting("Petani Kode")
greeting("Dian")
greeting("Ayu")

Mari kita coba…

Cara menggunakan python map example

Wah! bukannya ini sama saja seperti kita membuat fungsi dengan

lambda x,y : x**2 + y**2
1 🤔?

Iya memang sama..

Tapi bedanya, lambda khusus untuk fungsi yang berisi satu ekspresi dan sifat fungsinya akan anonymous.

Kamu pernah dengar tentang "anonymous function"? pic.twitter.com/XZ7kl3aHem

— Petani Kode (@petanikode) December 18, 2019

Anonymous Function di Python

Karena lambda adalah anonymous function, ia akan bebas menggunakan nama apa saja.

Dengan kata lain, fungsi lambda bisa disimpan di variabel mana pun.

Ini tentunya tidak bisa dilakukan oleh fungsi yang dibuat dengan

lambda x,y : x**2 + y**2
1.

Coba perhatikan ini:

Cara menggunakan python map example

Saya mencoba membuat fungsi

lambda x,y : x**2 + y**2
8 dengan
lambda x,y : x**2 + y**2
1, kemudian menyimpannya ke dalam variabel
greeting = lambda name: print(f"Hello, {name}") 
0.

Tapi malah error!

Ini karena fungsi tersebut bukanlah fungsi anonymous yang boleh dibah-ubah namanya.

Lalu coba perhatikan di baris terakhir, fungsi lambda

greeting = lambda name: print(f"Hello, {name}") 
1 yang sudah dibuat disimpan lagi ke variabel yang berbeda, yakni
greeting = lambda name: print(f"Hello, {name}") 
2.

greeting = lambda name: print(f"Hello, {name}")
sapa = greeting
greeting("Andi")
sapa("Neli")

Hasilnya nggak akan error, karena ini adalah fungsi anonymous atau lambda.

Eksekusi Lambda Secara Langsung

Kelebihan fungsi lambda dibandingkan

lambda x,y : x**2 + y**2
1 adalah bisa kita eksekusi langsung.

Maksudnya?

Ya bisa kita pakai langsung, tanpa harus memanggil namanya.

Contohnya:

(lambda x,y: x**2 + y**2)(4,6)

Tanda kurung yang mengapit fungsi lambda artinya kita akan langsung mengeksekusi fungsi tersebut.

Lalu kurung berikutnya akan berisi parameter.

Angka

greeting = lambda name: print(f"Hello, {name}") 
4 dan
greeting = lambda name: print(f"Hello, {name}") 
5 adalah parameter
greeting = lambda name: print(f"Hello, {name}") 
6 dan
greeting = lambda name: print(f"Hello, {name}") 
7 yang akan diberikan kepada fungsi lambda.

Mak akita akan langsung mendapatkan hasilnya, yakni:

greeting = lambda name: print(f"Hello, {name}") 
8 +
greeting = lambda name: print(f"Hello, {name}") 
9 =
greeting("Petani Kode")
greeting("Dian")
greeting("Ayu")
0.

Hasil dari eksekusi ini bisa juga kita simpan ke dalam variabel.

hasil = (lambda x,y: x**2 + y**2)(4,6)

Mengapa Harus Pakai Lambda?

Kita memang tidak harus selalu menggunakan Lambda, tapi dalam kasus tertentu lambda lebih baik dibandingkan fungsi biasa.

Lambda biasanya dibutuhkan saat kita ingin membuat fungsi dalam satu baris.

Biasanya saat menggunakan fungsi-fungsi seperti

greeting("Petani Kode")
greeting("Dian")
greeting("Ayu")
1,
greeting("Petani Kode")
greeting("Dian")
greeting("Ayu")
2, dan
greeting("Petani Kode")
greeting("Dian")
greeting("Ayu")
3 kita akan membutuhkan lambda.