Computer >> Máy Tính >  >> Lập trình >> Python

Từ khóa toàn cầu trong chương trình Python

Đôi khi chúng ta khai báo một biến nhưng chúng ta có thể cần phải sửa đổi hoặc truy cập các giá trị nằm ngoài phạm vi khai báo hiện tại của nó, có thể ở bất kỳ đâu trong chương trình hiện tại. Trong trường hợp như vậy, chúng ta sử dụng từ khóa Global với tên biến bên trong hàm nơi biến được khai báo. Nếu biến không nằm trong một hàm, thì nó sẽ tự động có phạm vi toàn cục.

Biến bên ngoài một hàm

Trong ví dụ dưới đây, chúng ta thấy một giá trị bên ngoài một hàm, nhưng chúng ta có thể truy cập nó từ bên trong một hàm. Bởi vì một biến như vậy đã có phạm vi toàn cục.

Ví dụ

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

Chạy đoạn mã trên cho chúng ta kết quả sau:

Đầu ra

112

Biến bên trong một hàm

Trong ví dụ tiếp theo, chúng tôi cố gắng thay đổi giá trị của một biến bên trong một hàm và gặp lỗi.

Ví dụ

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

Chạy đoạn mã trên cho chúng ta kết quả sau:

Đầu ra

nboundLocalError: local variable 'x' referenced before assignment

Cách duy nhất chúng ta có thể sửa đổi giá trị của một biến có phạm vi toàn cục bên trong một hàm là khai báo nó như một biến toàn cục bên trong một hàm.

Ví dụ

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

Chạy đoạn mã trên cho chúng ta kết quả sau

Đầu ra

116

Biến bên trong một hàm lồng nhau

Trong trường hợp hàm lồng nhau, chúng tôi tạo biến toàn cục trong hàm trong cùng như thể hiện trong ví dụ dưới đây.

Ví dụ

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)

Chạy đoạn mã trên cho chúng ta kết quả sau:

Đầu ra

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