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

จะประกาศตัวแปรส่วนกลางใน Python ได้อย่างไร


ตัวแปรส่วนกลางคืออะไร

ตัวแปรส่วนกลางคือตัวแปรที่ประกาศไว้ภายนอกฟังก์ชัน แต่เราจำเป็นต้องใช้ภายในฟังก์ชัน

ตัวอย่าง

def func():
   print(a)
a=10
func()

ผลลัพธ์

10

ที่นี่ตัวแปร a เป็นสากล ตามที่ประกาศไว้นอกฟังก์ชันและสามารถใช้ภายในฟังก์ชันได้เช่นกัน ดังนั้นขอบเขตของตัวแปร a จึงเป็นสากล

เราจะเห็นว่าเกิดอะไรขึ้นหากเราสร้างตัวแปรชื่อเดียวกับตัวแปรส่วนกลางภายในฟังก์ชัน

ในตัวอย่างข้างต้น ตัวแปร a ถูกประกาศนอกฟังก์ชันและด้วยเหตุนี้จึงเป็นค่าสากล

หากเราประกาศตัวแปรอื่นที่มีชื่อเดียวกันภายในฟังก์ชันด้วยค่าอื่น ตัวแปรนั้นจะทำหน้าที่เป็นตัวแปรท้องถิ่นของฟังก์ชันและขอบเขตจะถูกจำกัดไว้ภายในฟังก์ชัน นอกฟังก์ชัน ตัวแปรส่วนกลางจะเก็บค่าเดิมไว้

สามารถเข้าใจได้ดีขึ้นด้วยความช่วยเหลือของตัวอย่าง

ตัวอย่าง

a=10
def func():
   a=5
print("Inside function:",a)
func()
print("Outside function:",a)

ผลลัพธ์

Inside function: 5
Outside function: 10

ในตัวอย่างข้างต้น a คือตัวแปรส่วนกลางที่มีค่าเท่ากับ 10 หลังจากนั้นจะเรียก func()

ภายใน func() ตัวแปรอื่น a ถูกประกาศด้วยค่าที่แตกต่างกันซึ่งมีขอบเขตจำกัดเฉพาะภายในฟังก์ชันเท่านั้น ดังนั้น เมื่อค่าของ a ถูกพิมพ์ออกมานอกฟังก์ชันในภายหลัง ค่านั้นจะมีค่าเดิมเหมือนกับตัวแปร global ซึ่งมีค่า 10

คำหลัก:สากล

คำหลัก global ใช้เมื่อคุณต้องการประกาศตัวแปรส่วนกลางภายในฟังก์ชัน

ขอบเขตของตัวแปรปกติที่ประกาศภายในฟังก์ชันจะอยู่จนถึงจุดสิ้นสุดของฟังก์ชันเท่านั้น

อย่างไรก็ตาม หากคุณต้องการใช้ตัวแปรนอกฟังก์ชันด้วย ให้ใช้ global keyword ในขณะที่ประกาศตัวแปร

ทำความเข้าใจความแตกต่างระหว่างทั้งสองโดยใช้ตัวอย่างการใช้งาน

ตัวอย่าง

def func():
   a=5
   print("Inside function:",a)
func()
print("Outside function:",a)

ผลลัพธ์

Inside function: 5
Traceback (most recent call last):
print("Outside function:",a)
NameError: name 'a' is not defined

ในตัวอย่างข้างต้น ค่าของ a ไม่สามารถเข้าถึงได้จากภายนอกฟังก์ชัน เนื่องจากเป็นตัวแปรในเครื่อง ดังนั้น การเข้าถึงค่าของฟังก์ชันภายนอกจึงทำให้เกิดข้อยกเว้น

ใช้คำหลักทั่วโลก

ข้อยกเว้นในตัวอย่างข้างต้นสามารถแก้ไขได้หากเราประกาศตัวแปรโดยใช้คีย์เวิร์ด global

ตัวอย่าง

def func():
   global a
   a=5
   print("Inside function:",a)
func()
print("Outside function:",a)

ผลลัพธ์

Inside function: 5
Outside function: 5

ในตัวอย่างข้างต้น ตัวแปร a เป็นค่าส่วนกลางและด้วยเหตุนี้ค่าของตัวแปรจึงสามารถเข้าถึงได้จากภายนอกฟังก์ชันเช่นกัน