⊗pyPmFnSN 4 of 129 menu

ความละเอียดอ่อนของการทำงานกับขอบเขตการมองเห็นใน Python

ลองพิจารณาความละเอียดอ่อนที่สำคัญของการทำงานกับตัวแปรท้องถิ่น และตัวแปรระดับโลก

สมมติว่าเรามีตัวแปรระดับโลก num ลองสร้างฟังก์ชัน func ที่จะแสดง num ระดับโลก ออกที่คอนโซล:

num = 1 def func(): print(num) func() # จะแสดง 1

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

num = 1 def func(): print(num) # จะแสดงข้อผิดพลาด num = 2

ตอนนี้มาเขียนโค้ดภายในฟังก์ชันใหม่ เพื่อให้ค่าของตัวแปร num เพิ่มขึ้น 2:

num = 1 def func(): num += 2 # จะแสดงข้อผิดพลาด

ข้อผิดพลาดเกิดขึ้นเนื่องจากนิพจน์ num += 2 เป็นตัวแทนของรูปแบบการเขียนต่อไปนี้:

num = num + 2

อย่างไรก็ตาม ตัวแปรท้องถิ่นนั้นเอง ซึ่ง กำลังถูกบวกเข้าไปยังไม่ได้ประกาศ และดังนั้น Python จึงแสดงข้อผิดพลาด เนื่องจากไม่สามารถบวกตัวเลขเข้าไปใน ค่าที่ไม่มีอยู่ได้

ผลลัพธ์ของการรันโค้ดต่อไปนี้จะเป็นอย่างไร:

tst = '12' def func(): tst = 12 return tst print(tst)

ผลลัพธ์ของการรันโค้ดต่อไปนี้จะเป็นอย่างไร:

tst = 'abc' def func(): tst = tst.upper() return tst func() print(tst)

ผลลัพธ์ของการรันโค้ดต่อไปนี้จะเป็นอย่างไร:

tst = 'abc' def func(): txt = tst.upper() return txt print(func()) print(tst)
ไทย
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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ