Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตัวแปรระดับโลกและท้องถิ่นใน Python?


ตัวแปรมีสองประเภท:ตัวแปรส่วนกลางและตัวแปรท้องถิ่น

ขอบเขตของตัวแปรโกลบอลคือโปรแกรมทั้งหมด ในขณะที่ขอบเขตของตัวแปรโลคัลจะจำกัดอยู่ที่ฟังก์ชันที่กำหนดไว้

def func():
x = "Python"
print(x)
print(s)
s = "Tutorialspoint"
print(s)
func()
print(x)

ในโปรแกรมด้านบน x เป็นตัวแปรท้องถิ่นในขณะที่ s เป็นตัวแปรส่วนกลาง เราสามารถเข้าถึงตัวแปรท้องถิ่นได้เฉพาะภายในฟังก์ชันที่กำหนดไว้เท่านั้น (func() ด้านบน) และพยายามเรียกตัวแปรท้องถิ่นนอกขอบเขต (func()) จะ ผ่านข้อผิดพลาด อย่างไรก็ตาม เราสามารถเรียกตัวแปรส่วนกลางได้ทุกที่ในโปรแกรม รวมถึงฟังก์ชัน (func()) ที่กำหนดไว้ในโปรแกรม

ตัวแปรท้องถิ่น

ตัวแปรท้องถิ่นสามารถเข้าถึงได้ภายในขอบเขตเท่านั้น (เช่น func() ด้านบน)

เช่นเดียวกับในโปรแกรมด้านล่าง - มีสองตัวแปรในเครื่อง – x และ y

def sum(x,y):
sum = x + y
return sum
print(sum(5, 10))

ผลลัพธ์

15

ตัวแปร x และ y จะทำงาน/ใช้ภายในฟังก์ชัน sum() เท่านั้น และไม่มีอยู่นอกฟังก์ชัน ดังนั้นการพยายามใช้ตัวแปรท้องถิ่นนอกขอบเขต อาจใช้ NameError เห็นได้ชัดว่าบรรทัดล่างนี้ใช้ไม่ได้

print(x)

ตัวแปรทั่วโลก

สามารถใช้ตัวแปรส่วนกลางได้ทุกที่ในโปรแกรม เนื่องจากขอบเขตคือโปรแกรมทั้งหมด

มาทำความเข้าใจตัวแปรโกลบอลด้วยตัวอย่างง่ายๆ -

z = 25
def func():
global z
print(z)
z=20
func()
print(z)

ผลลัพธ์

25
20

func() การเรียก ค่าตัวแปรโกลบอลจะเปลี่ยนไปสำหรับทั้งโปรแกรม

ตัวอย่างด้านล่างแสดงการรวมกันของตัวแปรท้องถิ่นและตัวแปรส่วนกลางและพารามิเตอร์ของฟังก์ชัน -

def func(x, y):
global a
a = 45
x,y = y,x
b = 33
b = 17
c = 100
print(a,b,x,y)
a,b,x,y = 3,15,3,4
func(9,81)
print (a,b,x,y)

ผลลัพธ์

45 17 81 9
45 15 3 4