Từ khoá Global trong Python - cập nhật trong năm 2022
14/06/2022 11:36
Trong Python, từ khóa Global cho phép sửa đổi biến bên ngoài phạm vi hiện tại. Từ khóa toàn cầu là từ khóa cho phép người dùng sửa đổi một biến bên ngoài phạm vi hiện tại. Nó được sử dụng để tạo các biến toàn cục từ một phạm vi không toàn cục
KHÁI NIỆM TỪ KHÓA GLOBAL TRONG PYTHON
Trong Python, từ khóa Global cho phép sửa đổi biến bên ngoài phạm vi hiện tại. Từ khóa toàn cầu là từ khóa cho phép người dùng sửa đổi một biến bên ngoài phạm vi hiện tại. Nó được sử dụng để tạo các biến toàn cục từ một phạm vi không toàn cục tức là bên trong một hàm. Từ khóa toàn cục chỉ được sử dụng bên trong một hàm khi chúng ta muốn thực hiện các phép gán hoặc khi chúng ta muốn thay đổi một biến. Từ khóa Global không cần thiết để in và truy cập.
Có thể sử dụng từ khóa Global để thay đổi các biến
QUY TẮC CỦA TỪ KHÓA GLOBAL TRONG PYTHON
- Nếu một biến được gán giá trị ở bất kỳ đâu trong phần thân của hàm, nó được giả định là local trừ khi nó được khai báo rõ ràng là biến global.
- Các biến chỉ được tham chiếu bên trong một hàm hoàn toàn là toàn cục
- Bạn có thể sử dụng từ khóa global để sử dụng một biến toàn cục bên trong một hàmKhông cần sử dụng từ khóa toàn cục bên ngoài một hàm.
>>> Đọc thêm: Đệ quy trong Python - Vỹ khí bậc nhất của lập trình viên Python
Sử dụng từ khóa Global trong Python
Để truy cập một biến toàn cục bên trong một hàm, bạn không cần sử dụng từ khóa toàn cục.
VÍ DỤ 1:
# Python program showing no need to
# use global keyword for accessing
# a global value
# global variable
a = 15
b = 10
# function to perform addition
def add():
c = a + b
print(c)
# calling a function
add()
Output:
25
Nếu bạn cần gán một giá trị mới cho một biến toàn cục thì chúng ta có thể làm điều đó bằng cách khai báo biến là toàn cục.
>>> Tham khảo: Khóa học lập trình Python
VÍ DỤ 2: CODE KHÔNG CÓ KHÓA GLOBAL
# Python program showing to modify
# a global value without using global
# keyword
a = 15
# function to change a global value
def change():
# increment value of a by 5
a = a + 5
print(a)
change()
Output
UnboundLocalError: local variable 'a' referenced before assignment
Lỗi này xảy ra khi chúng ta cố gắng gán giá trị cho một biến trong phạm vi bên ngoài. Điều này có thể được thực hiện bằng cách sử dụng biến toàn cục.
Ví dụ 3: Với từ khóa Global
# Python program to modify a global
# value inside a function
x = 15
def change():
# using a global keyword
global x
# increment value of a by 5
x = x + 5
print("Value of x inside a function :", x)
change()
print("Value of x outside a function :", x)
Kết quả:
Value of x inside a function : 20
Value of x outside a function : 20
Trong ví dụ trên, đầu tiên chúng ta định nghĩa x là từ khóa toàn cục bên trong hàm change(). Giá trị của x sau đó được tăng thêm 5, tức là. x = x + 5 và do đó chúng ta nhận được đầu ra là 20.
Như chúng ta có thể thấy bằng cách thay đổi giá trị bên trong hàm change(), sự thay đổi cũng được phản ánh trong giá trị bên ngoài biến toàn cục.
CÁC BIẾN TOÀN CỤC TRÊN CÁC MÔ-ĐUN PYTHON:
Cách tốt nhất để chia sẻ các biến toàn cục trên các mô-đun khác nhau trong cùng một chương trình là tạo một mô-đun đặc biệt (thường được đặt tên là config hoặc cfg). Nhập mô-đun cấu hình trong tất cả các mô-đun của ứng dụng của bạn; mô-đun sau đó sẽ có sẵn dưới dạng tên chung. Chỉ có một phiên bản của mỗi mô-đun và vì vậy bất kỳ thay đổi nào được thực hiện đối với đối tượng mô-đun sẽ được phản ánh ở mọi nơi. Ví dụ: chia sẻ các biến toàn cục trên các mô-đun
Mã 1:Tạo một tệp config.py để lưu trữ các biến toàn cục:
filter_none
độ sáng_4
x = 0 y = 0 z ="none" |
Mã 2: Tạo tệp modify.by để sửa đổi các biến toàn cục:
filter_none
import config config.x = 1 config.y = 2 config.z ="geeksforgeeks" |
Ở đây chúng tôi đã sửa đổi giá trị của x, y và z. Các biến này đã được xác định trong mô-đun config.py, do đó phải nhập mô-đun config và chúng tôi có thể sử dụng config.variable_name để truy cập các biến này.
Mã 3: Tạo main.py tệp để sửa đổi các biến toàn cục:
filter_none
độ sáng_4
import config import modify print(config.x) print(config.y) print(config.z) |
Đầu ra:
1
2
geeksforgeeks
TỪ KHÓA GLOBAL TRONG HÀM LỒNG NHAU
Để sử dụng từ khóa Global bên trong một hàm lồng nhau, bạn phải khai báo một biến với từ khóa toàn cục bên trong một hàm lồng nhau.
# Python program showing a use of
# global in nested function
def add():
x = 15
def change():
global x
x = 20
print("Before making changing: ", x)
print("Making change")
change()
print("After making change: ", x)
add()
print("value of x",x)
Output:
Before making changing: 15
Making change
After making change: 15
value of x 20
Trong ví dụ trên trước và sau khi thực hiện change (), biến x nhận giá trị của biến cục bộ tức là x = 15. Bên ngoài add() hàm, biến x sẽ nhận giá trị được xác định trong change()hàm tức là x = 20. bởi vì chúng ta đã sử dụng từ khóa global trong x để tạo biến toàn cầu trong việc thay đổi () chức năng (phạm vi địa phương).
Kết luận: Trên đây là khái niệm và các ví dụ về từ khóa Global trong Python. Hy vọng các kiến thức trên hữu ích cho bạn trong quá trình lập trình với Python. Tìm hiểu về Python và các ngôn ngữ lập trình khác, tham khảo các khóa học lập trình tại T3H.
Nguồn: Programiz, Geeksforgeeks