Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Python

Menguasai Fungsi Lambda Python: Contoh Praktis & Praktik Terbaik

Fungsi lambda, sering disebut fungsi anonim, memungkinkan Anda menulis rutinitas kecil yang digunakan sekali dalam satu baris. Mereka berguna dalam kode gaya fungsional, terutama saat digunakan dengan map, filter, dan reduce.

Apa Itu Fungsi Lambda?

Lambda adalah fungsi yang didefinisikan dengan kata kunci lambda alih-alih def. Ia menerima nol atau lebih parameter dan mengembalikan nilai dari satu ekspresi. Karena tubuhnya adalah ekspresi, lambda tidak dapat berisi pernyataan atau beberapa baris.

Setiap lambda memiliki tiga bagian penting:

Misalnya, lambda x, y: x + y menambahkan dua angka. Meskipun anonim, lambda dapat ditugaskan ke variabel, diteruskan ke fungsi lain, atau dipanggil segera.

Cara Menulis Lambda

Sintaks formal:

lambda p1, p2, ... : expression

Perhatikan tidak ada kurung di sekitar parameter. Ekspresi dapat menggunakan operasi Python yang valid.

Contoh 1: Penjumlahan Sederhana

adder = lambda x, y: x + y print(adder(1, 2)) # → 3

Contoh 2: Memeriksa Objek Lambda

string = 'some kind of a useless lambda' print(lambda string: print(string)) # → <function <lambda> at 0x...>

Di sini, lambda tidak pernah dipanggil; print menampilkan objek fungsi yang dikembalikan oleh lambda.

Contoh 3: Lambda yang Dipanggil Segera (IIFE)

(lambda x: print(x))('IIFE in action') # → IIFE in action

Mengapit definisi dalam kurung dan menambahkan kurung setelahnya memanggil lambda segera.

Contoh 4: Lambda vs Fungsi Reguler

# Fungsi reguler def printer(arg): return print(arg) # Lambda yang memanggil fungsi guru(lambda: printer('Lambda call')) # → Lambda call

Kedua cuplikan menghasilkan output yang sama, tetapi versi lambda lebih ringkas ketika Anda hanya memerlukan pemanggilan satu kali.

Menggunakan Lambda dengan Fungsi Bawaan

Lambda muncul ketika diteruskan sebagai callback ke fungsi orde tinggi. Berikut adalah pola umum.

Lambda yang Dipanggil Segera (IIFE) dalam Python

(lambda x: x + x)(2) # → 4

Filter

Fungsi filter mempertahankan elemen yang memenuhi predikat.

sequences = [10, 2, 8, 7, 5, 4, 3, 11, 0, 1] filtered = filter(lambda x: x > 4, sequences) print(list(filtered)) # → [10, 8, 7, 5, 11]

Map

Fungsi map mengubah setiap elemen.

sequences = [10, 2, 8, 7, 5, 4, 3, 11, 0, 1] squared = map(lambda x: x * x, sequences) print(list(squared)) # → [100, 4, 64, 49, 25, 16, 9, 121, 0, 1]

Reduce

Gunakan reduce untuk mengakumulasi satu nilai dari urutan.

from functools import reduce sequences = [1, 2, 3, 4, 5] product = reduce(lambda x, y: x * y, sequences) print(product) # → 120

Kapan Menggunakan (dan Menghindari) Lambda

Lambda ideal untuk operasi satu kali yang ringkas dan muat dalam satu ekspresi. Mereka umum dalam konstruksi pemrograman fungsional seperti map dan filter.

Namun, hindari lambda yang terlalu kompleks dalam kode produksi. One-liner yang panjang dan tidak dapat dibaca dapat menghambat kemudahan pemeliharaan. Dalam kasus tersebut, fungsi bernama dengan docstring yang jelas lebih disukai.

Lambda vs Fungsi Reguler

FiturLambdaFungsi Reguler
Sintakslambda x: x + xdef add(x): return x + x
TubuhHanya satu ekspresiBeberapa pernyataan diizinkan
PenamaanAnonim (tidak ada pengidentifikasi)Harus memiliki nama
PengembalianImplisit dari ekspresiEksplisit dengan return
Kasus penggunaanLogika yang ringkas dan digunakan sekaliLogika yang dapat digunakan kembali dan kompleks

Takeaway

Python

  1. Menguasai Argumen Fungsi Python: Posisi, Kata Kunci, dan Parameter Default
  2. Fungsi Lambda Python: Panduan Praktis untuk Fungsi Anonim
  3. Penutupan (Closure) Python Dijelaskan: Cara Fungsi Bertingkat Mengambil Variabel
  4. Pengoverloadan Operator C++ – Panduan Praktis dengan Contoh Kode
  5. Fungsi C++ Dijelaskan dengan Contoh Kode Praktis
  6. Fungsi print() Python: Panduan Praktis dengan Contoh
  7. Menguasai Metode strip() Python: Panduan Lengkap & Contoh Praktis
  8. Menguasai str.count() Python: Cara Menghitung Karakter & Substring dengan Contoh
  9. Menguasai String `format()` Python dengan Contoh Jelas
  10. Menguasai Metode String.find() Python: Sintaks, Contoh & Alternatif