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

คีย์เวิร์ดสากลในโปรแกรม Python


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

ตัวแปรนอกฟังก์ชัน

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

ตัวอย่าง

x = 56
def func():
y = x *2
   return y
print(func())

การเรียกใช้โค้ดด้านบนทำให้เราได้ผลลัพธ์ดังต่อไปนี้:

ผลลัพธ์

112

ตัวแปรภายในฟังก์ชัน

ในตัวอย่างต่อไป เราพยายามเปลี่ยนค่าของตัวแปรภายในฟังก์ชันและได้รับข้อผิดพลาด

ตัวอย่าง

x = 56
def func():
   y = x *2
   x = x+2
      return y
print(func())

การเรียกใช้โค้ดด้านบนทำให้เราได้ผลลัพธ์ดังต่อไปนี้:

ผลลัพธ์

nboundLocalError: local variable 'x' referenced before assignment

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

ตัวอย่าง

x = 56
def func():
global x
   x = x + 2
   y = x *2
      return y
print(func())

การรันโค้ดด้านบนทำให้เราได้ผลลัพธ์ดังต่อไปนี้

ผลลัพธ์

116

ตัวแปรภายในฟังก์ชันซ้อน

ในกรณีของฟังก์ชันที่ซ้อนกัน เราจะสร้างตัวแปรส่วนกลางในฟังก์ชันภายในสุดดังแสดงในตัวอย่างด้านล่าง

ตัวอย่าง

def func_out():
   x = 56
   def func_in():
      global x
      x = 20
      print("x is: ",x)
      x = x + 3
      y = x *2
      print ("y is: ",y)
   func_in()
func_out()
print("x is: ",x)

การเรียกใช้โค้ดด้านบนทำให้เราได้ผลลัพธ์ดังต่อไปนี้:

ผลลัพธ์

x is: 20
y is: 46
x is: 23