Phạm vi Python
Một biến chỉ có sẵn từ bên trong vùng mà nó được tạo. Đây được gọi là phạm vi .
Phạm vi địa phương
Một biến được tạo bên trong một hàm thuộc phạm vi cục bộ của hàm đó và chỉ có thể được sử dụng bên trong hàm đó.
Thí dụ
Một biến được tạo bên trong một hàm có sẵn bên trong hàm đó:
def myfunc():
x = 300
print(x)
myfunc()
Chức năng Bên trong Chức năng
Như đã giải thích trong ví dụ trên, biến x
không có sẵn bên ngoài hàm, nhưng nó có sẵn cho bất kỳ hàm nào bên trong hàm:
Thí dụ
Biến cục bộ có thể được truy cập từ một hàm trong hàm:
def myfunc():
x = 300
def myinnerfunc():
print(x)
myinnerfunc()
myfunc()
Phạm vi toàn cầu
Một biến được tạo trong phần chính của mã Python là một biến toàn cục và thuộc phạm vi toàn cục.
Các biến toàn cục có sẵn trong bất kỳ phạm vi nào, toàn cục và cục bộ.
Thí dụ
Một biến được tạo bên ngoài một hàm là toàn cục và có thể được sử dụng bởi bất kỳ ai:
x = 300
def myfunc():
print(x)
myfunc()
print(x)
Đặt tên biến
Nếu bạn thao tác với cùng một tên biến bên trong và bên ngoài một hàm, Python sẽ coi chúng như hai biến riêng biệt, một biến có sẵn trong phạm vi toàn cục (bên ngoài hàm) và một có sẵn trong phạm vi cục bộ (bên trong hàm):
Thí dụ
Hàm sẽ in cục bộ x
và sau đó mã sẽ in toàn cục x
:
x = 300
def myfunc():
x = 200
print(x)
myfunc()
print(x)
Từ khoá Toàn cầu
Nếu bạn cần tạo một biến toàn cục, nhưng bị mắc kẹt trong phạm vi cục bộ, bạn có thể sử dụng
global
từ khóa.
Từ global
khóa làm cho biến toàn cục.
Thí dụ
Nếu bạn sử dụng global
từ khóa, biến thuộc phạm vi toàn cục:
def myfunc():
global x
x = 300
myfunc()
print(x)
Ngoài ra, hãy sử dụng global
từ khóa nếu bạn muốn thực hiện thay đổi đối với biến toàn cục bên trong một hàm.
Thí dụ
Để thay đổi giá trị của một biến toàn cục bên trong một hàm, hãy tham chiếu đến biến bằng cách sử dụng global
từ khóa:
x = 300
def myfunc():
global x
x = 200
myfunc()
print(x)