Lambda Expression คืออะไร
Last updated
Last updated
Lambda Expression คือ การประกาศฟังก์ชันเล็ก ๆ ที่สร้างขึ้นมาเฉพาะกิจ ในภาษา Python เป็น Anonymous Function คือ ฟังก์ชันนิรนาม ที่ประกาศโดยไม่ได้ตั้งชื่อ การไม่ได้ประกาศฟังก์ชันอย่างเต็มรูปแบบ ความกระชับของโค้ด และการไม่ได้ตั้งชื่อ ทำให้มีข้อดี เหมาะกับใช้ซ้อนในฟังก์ชั่นอื่น
เราสามารถสร้าง Lambda Expression ให้รับ Parameter กี่ตัวก็ได้ แต่ Lambda Function นั้นต้องประกอบด้วย 1 Expression เท่านั้น โดยไม่ต้องระบุ return เพราะ Lambda Function จะ return Expression นั้นโดยอัตโนมัติ
Check it out on github Last updated: 02/07/2020 11:16:12
ตัวอย่าง Lambda Function ที่รับ Parameter มา บวก 1 แล้ว return ผลลัพธ์In [0]:
Out[0]:
เรียกฟังก์ชัน ด้วย Parameter 5
In [0]:
Out[0]:
เราสามารถสร้าง Lambda Function ที่รับ Parameter มากกว่า 1 ตัว ดังตัวอย่างด้านล่าง ที่รับ Parameter 2 ตัวIn [0]:
In [0]:
Out[0]:
หรือ 3 Parameter ดังตัวอย่างIn [0]:
In [0]:
Out[0]:
Lambda Function จะมีประโยชน์มาก เมื่อเราใช้เป็น Anonymous Function ภายในฟังก์ชันอื่น ดังตัวอย่าง
สมมติเราต้องการสร้างฟังก์ชัน ที่จะคูณกับค่าที่เรากำหนดIn [0]:
เราจะสร้างฟังก์ชันที่จะคูณ 8In [0]:
Out[0]:
In [0]:
Out[0]:
เราจะสร้าง 3 ฟังก์ชัน ที่คุณกับเลข 3, 5, 7In [0]:
ลองเรียกทั้ง 3 ฟังก์ชัน ด้วย 3In [0]:
Out[0]:
เราสามารถประกาศ Lambda Function พร้อม ๆ กับ Call ได้เลยIn [0]:
Out[0]:
เราสามารถสร้าง Lambda Function ส่งให้กับฟังก์ชันที่ต้องการ Parameter เป็นฟังก์ชัน แทนที่จะต้องประกาศฟังก์ชันแบบเต็มรูปแบบ เช่น ฟังก์ชัน filter ต้องการ Parameter เป็นฟังก์ชัน ที่ return True ให้ x ผ่านการกรองIn [0]:
Reference : https://www.bualabs.com/archives/2252/what-is-lambda-function-teach-lambda-function-python-ep-7/#more-2252