Python def ซ้อน def คือ การเขียนฟังก์ชันซ้อนฟังก์ชัน (Nested Function) หลักการคือเราจะเขียนฟังก์ชันหลัก และมีฟังก์ชันย่อยภายในฟังก์ชันหลักดังกล่าว ประโยชน์เช่น หลีกเลี่ยงการเขียนโค้ดซ้ำซ้อนกัน และเพื่อจัดการกับข้อมูลภายในฟังก์ชันได้ดียิ่งขึ้น มีรายละเอียดดังนี้
ตัวอย่าง Python def ซ้อน def แบบที่ 1
def main_function():
def sub_function():
print("Hello sub_function")
sub_function()
main_function()
จากตัวอย่างสร้างฟังก์ชันหลักชื่อ main_function และภายในมีฟังก์ชันย่อยชื่อ sub_function ทำหน้าที่พิมพ์ข้อความ “Hello sub_function” เวลาเรียกใช้งานใช้ผ่าน main_function()
ตัวอย่าง Python def ซ้อน def แบบที่ 2 มีการรับค่าพารามิเตอร์
def main_function(number):
def sub_function(x):
return x ** 2
return sub_function(number)
print( main_function(2) )
print( main_function(4) )
print( main_function(6) )
ผลลัพธ์
4
16
36
จากตัวอย่างชันหลักชื่อ main_function รับค่าพารามิเตอร์ชื่อ number และเรียกใช้ฟังก์ชันย่อยชื่อ sub_function รับค่าตัวแปร number จากฟังก์ชันหลัก และ return ค่าออกมาเป็นเลขยกกำลังของตัวแปร number ที่ส่งเข้าไปในฟังก์ชัน ได้ผลลัพธ์เท่ากับ 4
สรุป บทความนี้เราได้เรียนรู้ว่า Python def ซ้อน def คืออะไร พร้อมตัวอย่างการเขียนโค้ด 2 ตัวอย่างทั้งแบบไม่มี และมีการรับค่าพารามิเตอร์ พร้อมคำอธิบายโค้ด และผลลัพธ์จากการทำงานของโปรแกรม