Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Global trong Python là gì? Bài viết sẽ cho bạn biết mọi điều về cách dùng global Python.
Khi mã hóa hay lập trình bằng Python, bạn có thể gặp phải những tình huống cần hạn chế khả năng truy cập của một biến vào một khối mã cụ thể. Điều này đạt được bằng cách giới hạn phạm vi của biến. Python cung cấp hai loại phạm vi: Phạm vi cục bộ và Phạm vi toàn cục, mỗi loại xác định nơi các biến có thể nhìn thấy và truy cập được. Đây là lúc từ khóa Global xuất hiện.
Trong bài viết này, chúng ta sẽ đề cập đến khái niệm từ khóa Global trong Python cùng với một số ví dụ.
Biến toàn cục hay global trong Python cho phép một hàm sửa đổi các biến được định nghĩa bên ngoài phạm vi của nó, khiến chúng có thể truy cập được trên toàn cục. Nếu không có nó, các biến bên trong một hàm được coi là cục bộ theo mặc định. Nó thường được sử dụng khi chúng ta cần cập nhật giá trị của một biến toàn cục trong một hàm, đảm bảo các thay đổi vẫn tồn tại bên ngoài hàm.
global để đọc và viết biến toàn cục trong một hàm.global bên ngoài một hàm thì không có tác dụng gì cả.
a = 1 # Biến toàn cục
def them():
print(a)
them()
Khi chạy code trên chúng ta nhận được đầu ra là 1. Tuy nhiên, có vài trường hợp chúng ta cần chỉnh sửa biến toàn cục từ bên trong hàm, đó chính là trường hợp mình nhắc đến từ đầu, vậy phải làm sao?
Giả sử ta cần sửa giá trị của a thành a + 9 trong hàm them(), nếu viết code sau:
a = 1 # Biến toàn cục
def them():
a = a + 9
print(a)
them()
Bạn sẽ nhận được thông báo lỗi:
UnboundLocalError: local variable 'a' referenced before assignment
Đó là do chúng ta chỉ có thể truy cập vào biến toàn cục mà không thể chỉnh sửa nó trong một hàm. Giải pháp cho vấn đề này là sử dụng từ khóa global. Khi đó, đoạn code trên sẽ được viết lại như sau:
a = 1 # Biến toàn cục
def them():
global a
a = a + 9
print("Trong them():", a)
them()
print("Trong main:", a)
Chạy code trên ta được kết quả đầu ra là:
Trong them(): 10
Trong main: 10
Ở đây, chúng ta định nghĩa a là một biến toàn cục trong hàm them(), sau đó tăng giá trị của a lên 9, tức là a = a + 9. Sau đó, chúng ta gọi hàm them(), cuối cùng, in biến toàn cục a. Kết quả là thay đổi được thực hiện cho biến a trong hàm them() cũng xảy ra trên biến toàn cục bên ngoài hàm, a = 10.
Trong Python, chúng ta tạo ra một mô-dun config.py để giữ các biến toàn cục và chia sẻ thông tin thông qua các mô-đun Python trong cùng một chương trình. Đây là cách chúng ta có thể chia sẻ biến toàn cục qua các mô-đun Python.
Tạo một file config.py để lưu trữ biến toàn cục:
a = 0 b = "rỗng"
Tạo một file update.py để thay đổi các biến toàn cục:
import config config.a = 10 config.b = "Quantrimang.com"
Viết file main.py để kiểm tra sự thay đổi:
import config import update print(config.a) print(config.b)
Khi chạy file main.py, đầu ra sẽ là:
10
Quantrimang.com
Ở đây, ta đã tạo ra 3 file là config.py, update.py và main.py. Mô-đun config.py lưu trữ 2 biến toàn cục là a và b. Trong file update.py chúng ta nhập mô-đun config.py và sửa đổi giá trị của biến a, b. Tương tự trong file main.py, ta nhập cả 2 mô-đun config.py và update.py. Cuối cùng, chúng ta dùng lệnh in để kiểm tra xem giá trị của biến a và b đã được thay đổi hay chưa.
Trong ví dụ này bạn sẽ biết cách để sử dụng biến toàn cục trong hàm lồng nhau.
def ham1():
x = 20
def ham2():
global x
x = 25
print("Trước khi gọi ham2: ", x)
print("Đang gọi ham2")
ham2()
print("Sau khi gọi ham2: ", x)
ham1()
print("x trong main: ", x)
Chạy code trên ta được:
Trước khi gọi ham2: 20
Đang gọi ham2
Sau khi gọi ham2: 20
x trong main: 25
Ở đây, chúng ta khai báo biến toàn cục trong hàm lồng ham2(). Trong ham1(), x không bị ảnh hưởng bởi từ khóa global.
Trước và sau khi gọi hàm ham2(), x sẽ lấy giá trị của biến cục bộ là 20. Bên ngoài hàm ham1(), x sẽ lấy giá trị toàn cục, được khia báo trong ham2() là 25. Đây là do ta sử dụng từ khóa global trong x để tạo biến toàn cục trong ham2(). Nếu chúng ta thực hiện bất kỳ sự thay đổi nào cho x trong ham2() thì thay đổi sẽ xuất hiện bên ngoài phạm vi cục bộ.
Làm bài tập Python có giải để rèn luyện thêm bạn nhé.
Tác giả: admin
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Mẹo bỏ qua phần trả lời AI trên Google chỉ với 3 ký tự
TOP lựa chọn thay thế GPT-Live-1 cho giọng nói AI
Tính năng Dự Án trong ChatGPT là gì? Hướng dẫn sử dụng từ A đến Z
Bộ công cụ tạo bài thuyết trình bằng AI
TOP ứng dụng Claude AI có thể tạo mà không cần viết code
AI tích hợp bảng tính: Gemini trong Sheets và Copilot trong Excel
Xây dựng Copilot Studio agent flow đầu tiên trong 15 phút
API Key là gì?
Hướng dẫn tạo báo cáo tương tác trên NotebookLM
Tại sao nên dùng AI để tạo bài thuyết trình?
Cách dùng Perplexity làm trợ lý mua sắm cá nhân
Gmail Live: Tìm và quản lý email bằng giọng nói
TOP nguồn prompt ChatGPT chất lượng và đa dạng
Cách gợi ý lịch hẹn bằng Gemini trong Gmail
Cách tạo và xuất file Microsoft Office trực tiếp từ Gemini
8 cách sử dụng ChatGPT cho SEO thật sự thiết thực
Cách xây dựng workflow thực tế cho mạng xã hội bằng ChatGPT
Templates trong ChatGPT là gì? Hướng dẫn sử dụng chi tiết Templates
Kimi Code vs Claude Code: Đâu là công cụ AI lập trình tốt hơn?
Làm sạch và chuẩn bị dữ liệu bảng tính với AI
Cách lập trình chuyên nghiệp hơn, dễ dàng hơn với tính năng Tệp trên Grok
Hướng dẫn cài đặt và sử dụng n8n trên Windows 11
Công thức tính diện tích hình Elip
Hướng dẫn ngắt kết nối ứng dụng trên ChatGPT
Hướng dẫn tạo đoạn hội thoại cho topic trên Twee
8 ứng dụng Microsoft Store miễn phí giúp Windows tốt hơ
Bức tranh tổng quan về hỗ trợ khách hàng tích hợp AI
Đừng chia sẻ ảnh cho đến khi bạn chạy kiểm tra siêu dữ liệu này!
6 cách mở Computer/System Properties trong Windows 10
Cách sửa lỗi There Are Currently No Power Options Available Windows