Python ทำไมต้องฟังก์ชันแลมบ์ดา
เหตุใดจึงต้องใช้ฟังก์ชันแลมบ์ดา
พลังของแลมบ์ดาจะแสดงได้ดีขึ้นเมื่อคุณใช้เป็นฟังก์ชันที่ไม่ระบุตัวตนภายในฟังก์ชันอื่น
สมมติว่าคุณมีการกำหนดฟังก์ชันที่รับหนึ่งอาร์กิวเมนต์ และอาร์กิวเมนต์นั้นจะถูกคูณด้วยจำนวนที่ไม่รู้จัก:
def myfunc(n):
return lambda a : a * n
ใช้นิยามฟังก์ชันนั้นเพื่อสร้างฟังก์ชันที่เพิ่มตัวเลขที่คุณส่งเข้ามาเป็นสองเท่าเสมอ:
ตัวอย่าง
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))
หรือใช้คำจำกัดความของฟังก์ชันเดียวกันเพื่อสร้างฟังก์ชันที่เพิ่มตัวเลขที่คุณส่งเข้ามาสามเท่า เสมอ:
ตัวอย่าง
def myfunc(n):
return lambda a : a * n
mytripler = myfunc(3)
print(mytripler(11))
หรือใช้นิยามฟังก์ชันเดียวกันเพื่อสร้างทั้งสองฟังก์ชันในโปรแกรมเดียวกัน:
ตัวอย่าง
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11))
print(mytripler(11))
ใช้ฟังก์ชันแลมบ์ดาเมื่อต้องใช้ฟังก์ชันที่ไม่ระบุตัวตนในช่วงเวลาสั้นๆ