เมื่อเรียกใช้งานคำสั่งโปรแกรมหรือฟังก์ชัน ค่าปัจจุบันของพารามิเตอร์ที่เป็นทางการจะถูกบันทึก (บนสแต็ก) และภายในขอบเขตของคำสั่ง ค่าเหล่านี้จะถูกผูกไว้กับค่าของอาร์กิวเมนต์ที่เกิดขึ้นจริงในการโทร เมื่อออกจากคำสั่ง ค่าดั้งเดิมของอาร์กิวเมนต์ที่เป็นทางการเหล่านั้นจะได้รับการกู้คืน โปรโตคอลนี้เป็นแบบเรียกซ้ำทั้งหมด หากภายในเนื้อหาของข้อความสั่ง มีการกระทำบางอย่างที่ทำให้พารามิเตอร์ที่เป็นทางการถูกผูกมัดอีกครั้ง กับค่าใหม่ รูปแบบการจับแลมบ์ดารับประกันว่าสิ่งนี้จะเกิดขึ้นอย่างมีระเบียบ
มีการเชื่อมโยงเพียงครั้งเดียวสำหรับ x:การทำ x =5 เพียงแค่เปลี่ยนค่าในการผูกที่มีอยู่ก่อนหน้า นั่นเป็นสาเหตุที่พารามิเตอร์เริ่มต้นใช้เพื่อกำหนดค่าให้กับพารามิเตอร์ของแลมบ์ดาโดยตรง
ตัวอย่าง
def function(x): a = lambda x=x: x x = 5 b = lambda: x return a,b aa, bb = function(2) aa() bb()
ผลลัพธ์
5
Python ช่วยให้คุณสร้างฟังก์ชันที่ไม่ระบุตัวตนได้ เช่น ฟังก์ชันที่ไม่มีชื่อโดยใช้สิ่งอำนวยความสะดวกที่เรียกว่า ฟังก์ชันแลมบ์ดา ฟังก์ชันแลมบ์ดาเป็นฟังก์ชันเล็ก ๆ มักจะไม่เกินบรรทัด ผลลัพธ์ของนิพจน์คือค่าเมื่อใช้แลมบ์ดากับอาร์กิวเมนต์