Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

แลมบ์ดามีผลผูกพันใน Python คืออะไร?


เมื่อเรียกใช้งานคำสั่งโปรแกรมหรือฟังก์ชัน ค่าปัจจุบันของพารามิเตอร์ที่เป็นทางการจะถูกบันทึก (บนสแต็ก) และภายในขอบเขตของคำสั่ง ค่าเหล่านี้จะถูกผูกไว้กับค่าของอาร์กิวเมนต์ที่เกิดขึ้นจริงในการโทร เมื่อออกจากคำสั่ง ค่าดั้งเดิมของอาร์กิวเมนต์ที่เป็นทางการเหล่านั้นจะได้รับการกู้คืน โปรโตคอลนี้เป็นแบบเรียกซ้ำทั้งหมด หากภายในเนื้อหาของข้อความสั่ง มีการกระทำบางอย่างที่ทำให้พารามิเตอร์ที่เป็นทางการถูกผูกมัดอีกครั้ง กับค่าใหม่ รูปแบบการจับแลมบ์ดารับประกันว่าสิ่งนี้จะเกิดขึ้นอย่างมีระเบียบ

มีการเชื่อมโยงเพียงครั้งเดียวสำหรับ 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 ช่วยให้คุณสร้างฟังก์ชันที่ไม่ระบุตัวตนได้ เช่น ฟังก์ชันที่ไม่มีชื่อโดยใช้สิ่งอำนวยความสะดวกที่เรียกว่า ฟังก์ชันแลมบ์ดา ฟังก์ชันแลมบ์ดาเป็นฟังก์ชันเล็ก ๆ มักจะไม่เกินบรรทัด ผลลัพธ์ของนิพจน์คือค่าเมื่อใช้แลมบ์ดากับอาร์กิวเมนต์