ฟังก์ชันเหล่านี้เรียกว่าไม่ระบุตัวตน เนื่องจากไม่ได้ประกาศในลักษณะมาตรฐานโดยใช้คีย์เวิร์ด def คุณสามารถใช้คีย์เวิร์ดแลมบ์ดาเพื่อสร้างฟังก์ชันนิรนามขนาดเล็กได้
- แบบฟอร์มแลมบ์ดาสามารถรับอาร์กิวเมนต์จำนวนเท่าใดก็ได้ แต่คืนค่าเพียงค่าเดียวในรูปแบบของนิพจน์ ต้องไม่มีคำสั่งหรือหลายนิพจน์
- ฟังก์ชันที่ไม่ระบุชื่อไม่สามารถเรียกโดยตรงเพื่อพิมพ์ได้เนื่องจากแลมบ์ดาต้องการนิพจน์
- ฟังก์ชันแลมบ์ดามีเนมสเปซในเครื่องของตัวเองและไม่สามารถเข้าถึงตัวแปรอื่นนอกเหนือจากที่อยู่ในรายการพารามิเตอร์และเนมสเปซส่วนกลางได้
- แม้ว่าจะดูเหมือนว่า lambda's เป็นเวอร์ชันหนึ่งบรรทัดของฟังก์ชัน แต่ก็ไม่เทียบเท่ากับคำสั่งแบบอินไลน์ใน C หรือ C++ ซึ่งมีวัตถุประสงค์โดยผ่านการจัดสรรสแต็กของฟังก์ชันระหว่างการเรียกใช้ด้วยเหตุผลด้านประสิทธิภาพ
ไวยากรณ์
วากยสัมพันธ์ของฟังก์ชันแลมบ์ดามีเพียงคำสั่งเดียว ซึ่งมีดังนี้ −
lambda [arg1 [,arg2,.....argn]]:expression
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างที่แสดงให้เห็นว่ารูปแบบของฟังก์ชันแลมบ์ดาทำงานอย่างไร -
#!/usr/bin/python # Function definition is here sum = lambda arg1, arg2: arg1 + arg2; # Now you can call sum as a function print "Value of total : ", sum( 10, 20 ) print "Value of total : ", sum( 20, 20 )
ผลลัพธ์
เมื่อโค้ดด้านบนถูกรัน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
Value of total : 30 Value of total : 40