Kategori
pengkodean

Sintaks def dan lambda python dan perbandingan perbedaan

Mari kita lihat dua kata kunci yang memiliki fungsi serupa. Bukankah Anda telah membuat dua sia-sia?

deskripsi def

Biarkan saya memberi Anda sebuah contoh terlebih dahulu.

def add(x, y):
    return x + y
print(add(3,5))

Inilah hasilnya:

8

Fungsi ditulis dengan kata kunci def.

add adalah nama fungsi, dan argumen yang akan diteruskan didefinisikan sebagai x dan y.

Ini memiliki fungsi yang mengembalikan hasil penambahan dua nilai.

Jika Anda meneruskan 3 dan 5 sebagai argumen ke fungsi add yang dibuat dengan cara ini, Anda dapat melihat bahwa hasilnya adalah 8.

deskripsi lambda

Mari kita buat fungsi yang sama seperti di atas.

add = lambda x,y: x+y
print(add(2,3))

Inilah hasilnya:

5

Ia menggunakan kata kunci lambda untuk menerima x dan y sebagai argumen dan mengembalikan hasil penambahan dua nilai.

Lambdas membuat fungsi tanpa nama secara default.

Dan Anda dapat menulis lebih ringkas dalam satu baris.

Juga, jangan gunakan kata kunci kembali.

Itu juga dapat digunakan dengan cara yang sama seperti fungsi dengan menetapkannya ke variabel.

Bagaimana cara menggunakannya

Mari kita lihat contoh penggunaan lain untuk membantu Anda memahami.

temp = [1,2,3,4,5]
result = list(filter(lambda x:x>2, temp))
print(result)

Inilah hasilnya:

[3,4,5]

Ini adalah contoh penggunaan metode filter untuk memilih hanya nilai yang lebih besar dari 2 dari array dengan elemen 1 hingga 5.

lambda menerima nilai, menentukan apakah itu lebih besar dari 2, dan mengembalikan nilai Boolean Benar atau Salah.

Metode filter menetapkan lambda ke argumen pertama dan array ke argumen kedua.

Ini melintasi array dan menghasilkan hasil dengan mempertahankan nilai jika lebih besar dari 2 dan mengecualikannya sebaliknya.

Hasil yang diperoleh filter dibuat dalam bentuk array dengan metode list dan disimpan dalam variabel hasil.

Mari kita buat fungsi yang sama persis dengan sebuah fungsi.

temp = [1,2,3,4,5]
def comp(x):
    return x > 2
result = list(filter(comp, temp))
print(result)

Inilah hasilnya:

[3,4,5]

Tidak masalah bagaimana Anda mengimplementasikannya, tetapi dalam contoh ini, lambda sedikit lebih ringkas, bukan?

Faktanya, jika Anda mengambil gambar dari tipenya, implementasi def dan lambda keluar sama dengan fungsi.

Oleh karena itu, Anda dapat menganggapnya sebagai konsep bahwa lambda termasuk dalam suatu fungsi.

Kesimpulannya, akan lebih baik menggunakan kata kunci def untuk membuat fungsi yang perlu digunakan kembali, dan menggunakan lambda ketika Anda ingin membuat fungsi satu kali sederhana.

Ada 2 balasan di pos ini.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

id_IDBahasa Indonesia