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

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


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

ต่อไปนี้เป็นประเด็นสำคัญเกี่ยวกับคำหลักทั่วโลก

  • ตัวแปรที่ประกาศนอกฟังก์ชันเป็นตัวแปรส่วนกลางโดยค่าเริ่มต้น

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

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

ไม่มีทั่วโลก

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

ตัวอย่าง

var = 321
# function to modify the variable
def modify():
   var = var * 2
   print(var)
# calling the function
modify()

ผลลัพธ์

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

UnboundLocalError: local variable 'var' referenced before assignment

กับทั่วโลก

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

ตัวอย่าง

var = 321
# function to modify the variable
def modify():
   global var
   var = var * 2
   print(var)
# calling the function
modify()

ผลลัพธ์

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

642

ทั่วโลกภายในฟังก์ชันที่ซ้อนกัน

หากเราต้องใช้ฟังก์ชันที่ซ้อนกัน เราต้องประกาศ global keyword ในฟังก์ชัน inner เพื่อให้สามารถแก้ไขตัวแปรได้

ตัวอย่าง

def outer_func():
   var = 321
# function to modify the variable
   def modify():
      global var
   var = var * 2
   print(var)
# calling the function
   modify()
outer_func()

ผลลัพธ์

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

642