เรียนเขียนโปรแกรมง่ายๆกับ Expert Programming Tutor วันนี้เราจะมาเข้าสู่บทLambda 
ฟังก์ชั่นแลมบ์ดาเป็นฟังก์ชั่นที่ไม่ระบุตัวตนเล็กๆฟังก์ชั่นแลมบ์ดาสามารถรับอาร์กิวเมนต์จำนวนเท่าใดก็ได้ แต่สามารถมีได้เพียงนิพจน์เดียวเท่านั้น
ตัวอย่างเช่น
และเราสามารถย่อนิพจน์แลมบ์ดา (Lambda expressions) ให้กลายเป็นฟังก์ชันขนาดเล็กลงเป็นอาร์กิวเมนต์ได้ดังนี้
| 
			 lambda arguments: expression  | 
		
ตัวอย่าง
| 
			 x = lambda a: a + 10  | 
		
ผลลัพธ์
| 
			 15  | 
		
ฟังก์ชั่นของแลมบ์ดาสามารถรับอาร์กิวเมนต์ได้จำนวนเท่าใดก็ได้
ตัวอย่าง
ฟังก์ชั่นแลมบ์ดาที่เพิ่มค่าอาร์กิวเมนต์ a ด้วยอาร์กิวเมนต์ b และพิมพ์ผลลัพธ์
| 
			 x = lambda a, b : a * b  | 
		
ผลลัพธ์
| 
			 30  | 
		
ตัวอย่าง
ฟังก์ชั่นแลมบ์ดาที่สรุปผลรวม a, b และ c และปรินต์ผลลัพธ์
| 
			 x = lambda a, b, c: a + b + c  | 
		
ผลลัพธ์
| 
			 13  | 
		
ทำไมเราต้องใช้ Lambda Function
ผลของแลมบ์ดาจะแสดงได้ดีขึ้นเมื่อนักเรียนใช้มันเป็นฟังก์ชั่นนิพจน์ภายในฟังก์ชั่นอื่นสมมติว่านักเรียนมีนิยามฟังก์ชันที่ใช้อาร์กิวเมนต์หนึ่งตัวและอาร์กิวเมนต์นั้นจะถูกคูณด้วยจำนวนที่ไม่รู้จัก
ตัวอย่าง
| 
			 def myfunc(n): mydoubler = myfunc(2)  | 
		
ผลลัพธ์
| 
			 
  | 
		
หรือใช้นิยามฟังก์ชันเดียวกันเพื่อสร้างฟังก์ชันที่เพิ่มจำนวนสามเท่าที่นักเรียนใส่ค่ามา
| 
			 def myfunc(n):  | 
		
ผลลัพธ์
| 
			 33  | 
		
หรือใช้นิยามฟังก์ชันเดียวกันเพื่อสร้างทั้งสองฟังก์ชันในโปรแกรมเดียวกัน
| 
			 def myfunc(n): mydoubler = myfunc(2) print(mydoubler(11))   | 
		
ผลลัพธ์
| 
			 
  | 
		
ใช้ฟังก์ชั่นแลมบ์ดาเมื่อต้องการใช้งานในช่วงเวลาสั้น ๆ เจอกันในบทต่อไปครับ 
แปลจากhttps://www.w3schools.com/python/python_lambda.asp
Tag ที่น่าสนใจ: python lambda programming functions expressions arguments examples multiplication programming_techniques nested_functions functional_programming
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC) 
    084-88-00-255 (AIS) 
    026-111-618 
    หรือทาง EMAIL:  NTPRINTF@GMAIL.COM
            Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com
