ขอบเขตหลาม
ตัวแปรสามารถใช้ได้จากภายในขอบเขตที่ถูกสร้างขึ้นเท่านั้น นี้เรียกว่าขอบเขต
ขอบเขตท้องถิ่น
ตัวแปรที่สร้างขึ้นภายในฟังก์ชันนั้นเป็นของขอบเขตภายในของฟังก์ชันนั้น และสามารถใช้ได้ภายในฟังก์ชันนั้นเท่านั้น
ตัวอย่าง
ตัวแปรที่สร้างขึ้นภายในฟังก์ชันมีอยู่ในฟังก์ชันนั้น:
def myfunc():
x = 300
print(x)
myfunc()
ฟังก์ชั่นภายในฟังก์ชั่น
ดังที่อธิบายไว้ในตัวอย่างข้างต้น ตัวแปรx
นี้ไม่สามารถใช้ได้ภายนอกฟังก์ชัน แต่สามารถใช้ได้สำหรับฟังก์ชันใดๆ ภายในฟังก์ชัน:
ตัวอย่าง
ตัวแปรท้องถิ่นสามารถเข้าถึงได้จากฟังก์ชันภายในฟังก์ชัน:
def myfunc():
x = 300
def myinnerfunc():
print(x)
myinnerfunc()
myfunc()
ขอบเขตทั่วโลก
ตัวแปรที่สร้างขึ้นในเนื้อหาหลักของโค้ด Python เป็นตัวแปรส่วนกลางและอยู่ในขอบเขตส่วนกลาง
ตัวแปรโกลบอลมีให้ใช้งานจากภายในขอบเขต โกลบอลและโลคัล
ตัวอย่าง
ตัวแปรที่สร้างขึ้นนอกฟังก์ชันนั้นเป็นตัวแปรสากลและทุกคนสามารถใช้ได้:
x = 300
def myfunc():
print(x)
myfunc()
print(x)
ตัวแปรการตั้งชื่อ
หากคุณดำเนินการโดยใช้ชื่อตัวแปรเดียวกันทั้งในและนอกฟังก์ชัน Python จะถือว่าตัวแปรเหล่านี้เป็นตัวแปรที่แยกจากกัน ตัวแปรหนึ่งมีอยู่ในขอบเขตสากล (นอกฟังก์ชัน) และอีกตัวแปรหนึ่งมีอยู่ในขอบเขตภายในเครื่อง (ภายในฟังก์ชัน):
ตัวอย่าง
ฟังก์ชันจะพิมพ์ local x
จากนั้นโค้ดจะพิมพ์ global x
:
x = 300
def myfunc():
x = 200
print(x)
myfunc()
print(x)
คำหลักสากล
หากคุณต้องการสร้างตัวแปรส่วนกลาง แต่ติดอยู่ในขอบเขตท้องถิ่น คุณสามารถใช้
global
คำสำคัญได้
global
คีย์เวิร์ดทำให้ตัวแปรเป็นโกลบอล
ตัวอย่าง
หากคุณใช้global
คีย์เวิร์ด ตัวแปรจะอยู่ในขอบเขตโกลบอล:
def myfunc():
global x
x = 300
myfunc()
print(x)
นอกจากนี้ ให้ใช้global
คีย์เวิร์ดหากคุณต้องการเปลี่ยนแปลงตัวแปรส่วนกลางภายในฟังก์ชัน
ตัวอย่าง
หากต้องการเปลี่ยนค่าของตัวแปรส่วนกลางภายในฟังก์ชัน ให้อ้างอิงตัวแปรโดยใช้global
คีย์เวิร์ด:
x = 300
def myfunc():
global x
x = 200
myfunc()
print(x)