Python รองรับฟังก์ชั่นระดับเฟิร์สคลาส อันที่จริง ฟังก์ชันทั้งหมดใน python เป็นฟังก์ชันระดับเฟิร์สคลาส
Python อาจส่งคืนฟังก์ชันจากฟังก์ชัน เก็บฟังก์ชันในคอลเล็กชัน เช่น รายการ และโดยทั่วไปจะปฏิบัติต่อฟังก์ชันเหล่านี้เหมือนกับที่คุณทำกับตัวแปรหรืออ็อบเจ็กต์ใดๆ
กำหนดฟังก์ชันในฟังก์ชันอื่นและฟังก์ชันส่งคืนได้ทั้งหมด
โค้ดที่ให้มาทำงานใหม่ได้ดังนี้ เรากำหนดฟังก์ชันภายในฟังก์ชันและส่งคืนฟังก์ชันเหล่านี้
ตัวอย่าง
def f2(c, d): return c, d def f1(a, b): c = a + 1 d = b + 2 return lambda: f2(c,d) result = f1(1, 2) print result print result()
ผลลัพธ์
C:/Users/TutorialsPoint1/~.py <function <lambda> at 0x0000000003041CF8> (2, 4)