⊗pyPmFnIFN 22 of 129 menu

ความแตกต่างในการทำงานกับฟังก์ชันภายในใน Python

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

def outer(): def inner(): return '+++' return inner

ลองบันทึกการเรียกใช้ outer ลงในตัวแปร res:

res = outer() print(res)

หลังจากรันโค้ด จะแสดงวัตถุที่เก็บฟังก์ชัน:

<function outer.<locals>.inner at 0x000001564A212B90>

แต่หากเรียกใช้ตัวแปร res ด้วยวงเล็บ จะได้ข้อความ '+++' คืนกลับมา:

print(res()) # แสดงผล '+++'

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

res = outer()() print(res) # แสดงผล '+++'

มีโค้ดต่อไปนี้:

def outer(): def inner(num): return num + 2 return inner res = outer()(3) print(res)

จงบอกว่าอะไรจะถูกแสดงผลในคอนโซล

มีโค้ดต่อไปนี้:

def outer(): def inner(txt): return 'hello, ' + txt return inner res = outer() print(res)

จงบอกว่าอะไรจะถูกแสดงผลในคอนโซล

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