Xem thêm

Tìm hiểu về biến toàn cục trong Python

Huy Erick
Biến toàn cục là gì? Đây là câu hỏi mà nhiều người thắc mắc khi tìm hiểu về ngôn ngữ lập trình Python. Biến toàn cục trong Python là biến mà bạn định nghĩa ở...

Biến toàn cục là gì? Đây là câu hỏi mà nhiều người thắc mắc khi tìm hiểu về ngôn ngữ lập trình Python. Biến toàn cục trong Python là biến mà bạn định nghĩa ở phạm vi cao nhất trong chương trình và nó có thể được truy cập từ bất kỳ đâu trong chương trình, bao gồm cả các hàm hoặc lớp.

Global-Variables Hình ảnh minh họa về biến toàn cục

Để định nghĩa một biến toàn cục, bạn chỉ cần gán giá trị cho biến mà không đặt nó trong bất kỳ hàm nào. Ví dụ:

global_var = 10

def some_function():
    print(global_var)

some_function() # In ra giá trị của global_var

Kết quả:

10

Dưới đây là một ví dụ tổng hợp sử dụng biến toàn cục, biến cục bộ và biến nonlocal trong Python:

global_var = 10 # Biến toàn cục

def outer_function():
    outer_var = 5 # Biến cục bộ cho outer_function

    def inner_function():
        nonlocal outer_var # Biến nonlocal cho outer_var
        local_var = 15 # Biến cục bộ cho inner_function
        outer_var = outer_var + local_var # Thay đổi outer_var bằng outer_var + local_var
        global global_var # Truy cập biến toàn cục global_var
        global_var = global_var + 5 # Thay đổi global_var bằng global_var + 5

    inner_function()
    print("inner_function: outer_var =", outer_var) # In giá trị outer_var sau khi thay đổi trong inner_function

outer_function()
print("outer_function: global_var =", global_var) # In giá trị global_var sau khi thay đổi trong inner_function

Kết quả:

inner_function: outer_var = 20
outer_function: global_var = 15

Trong ví dụ trên, có các biến sau:

  • global_var là biến toàn cục, nó có thể được truy cập từ bất kỳ hàm nào.
  • outer_var là biến cục bộ trong outer_function và được sử dụng ở cả inner_function với từ khóa nonlocal để thay đổi giá trị.

Khi gọi outer_function, inner_function được gọi bên trong và thay đổi giá trị của outer_varglobal_var, dẫn đến kết quả được in ra như trên.

Quy tắc sử dụng biến toàn cục trong Python

"Biến toàn cục trong Python là gì?" Đây là câu hỏi mà rất nhiều người thắc mắc khi tìm hiểu ngôn ngữ Python. Biến toàn cục trong Python được sử dụng để chỉ ra rằng biến được định nghĩa hoặc thay đổi trong một phạm vi cục bộ (như bên trong một hàm) sẽ trở thành biến toàn cục, có thể truy cập từ bất kỳ đâu trong chương trình. Nói cách khác, từ khóa "global" đưa biến vào phạm vi toàn cục thay vì giữ nó trong phạm vi cục bộ.

Global-Variables

Dưới đây là một ví dụ về cách khai báo biến toàn cục trong Python:

global_var = 10 # Biến toàn cục

def modify_global_variable():
    global global_var # Sử dụng từ khóa global để thay đổi biến toàn cục
    global_var = 20

modify_global_variable() # Gọi hàm để thay đổi giá trị của biến toàn cục
print(global_var) # In giá trị của biến toàn cục sau khi thay đổi

Kết quả:

20

Trong Python, các quy tắc về từ khóa global bao gồm:

  • "global" là một từ khóa được sử dụng để khai báo biến ở mức toàn cục, nghĩa là biến được định nghĩa bên ngoài các hàm và có thể truy cập từ bất kỳ đâu trong chương trình.
  • Khi bạn sử dụng từ khóa "global" trong một hàm để chỉ định biến là biến toàn cục, bạn có thể thay đổi giá trị của biến toàn cục từ bên trong hàm.
  • Một biến toàn cục có thể được truy cập từ bất kỳ hàm nào trong chương trình, miễn là biến đó đã được khai báo là biến toàn cục bằng cách sử dụng từ khóa "global".
  • Việc sử dụng biến toàn cục nên được thực hiện cẩn thận để tránh sự mơ hồ và sự trùng lặp trong chương trình.
  • Không nên sử dụng quá nhiều biến toàn cục mà thay vào đó nên ưu tiên sử dụng tham số và biến cục bộ trong các hàm để làm cho chương trình dễ hiểu và bảo quản.

Lời Kết

Việc khai báo trùng tên ở biến toàn cục và biến cục bộ là một trong những vấn đề phức tạp trong lập trình Python. Điều quan trọng là sử dụng biến một cách hợp lý. Đối với biến toàn cục, nên sử dụng chúng một cách cẩn thận và tránh xung đột với biến cục bộ trong hàm bằng cách sử dụng tham số truyền vào. Hi vọng bài viết trên sẽ giúp bạn hiểu thêm về biến toàn cục trong Python cũng như sự khác biệt giữa biến toàn cục và biến cục bộ và biết cách sử dụng chúng một cách thích hợp. Chúc bạn thành công!

Ảnh được cung cấp bởi ICANTECH.

1