⊗pyPmFnFIF 20 of 129 menu

ฟังก์ชันภายในฟังก์ชันใน Python

ใน Python ภายในฟังก์ชันหนึ่งสามารถประกาศ ฟังก์ชันอื่นได้ สมมติว่าเรามีฟังก์ชันภายนอก outer ภายในซึ่งมีฟังก์ชัน inner อยู่:

def outer(): def inner(): pass

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

ลองพิจารณาตัวอย่าง เมื่อมีการส่งลิสต์ เข้าไปในฟังก์ชัน outer และด้วยความช่วยเหลือของ ฟังก์ชัน inner องค์ประกอบตัวเลข ของลิสต์จะถูกยกกำลังสอง เพื่อการนี้ หลังจากฟังก์ชัน inner เราประกาศลิสต์ว่าง res ซึ่ง จะสะสมองค์ประกอบต่างๆ ที่ถูกยกกำลังสองในลูป:

def outer(lst): def inner(num): return num ** 2 res = [] for el in lst: res.append(inner(el)) return res

ลองเรียกใช้ฟังก์ชัน outer ส่งพารามิเตอร์ลิสต์ให้มันและแสดง ผลลัพธ์ในคอนโซล:

print(outer([2, 3, 5])) # จะแสดง [4, 9, 25]

เขียนฟังก์ชันภายนอกและฟังก์ชันภายใน ซึ่งการทำงานร่วมกันจะแสดง แต่ละองค์ประกอบสตริงของลิสต์ด้วยตัวอักษรพิมพ์ใหญ่ ที่ต้นคำ

กำหนดฟังก์ชัน:

def func1(num): if num > 0: num += 2 return num def func2(iter): res = [] for el in iter: res.append(func1(el)) return res

เขียนโค้ดใหม่เพื่อให้ func1 เป็นฟังก์ชันภายในสำหรับ func2

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ