Một biến chỉ có sẵn từ bên trong khu vực nó được tạo ra. Đây được gọi là phạm vi.scope.
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 chức năng đó:
def myfunc []: & nbsp; x = 300 & nbsp; in [x]
x = 300
print[x]
myfunc[]
Hãy tự mình thử »
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ỳ chức năng nào 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 chức năng đó:
def myfunc []: & nbsp; x = 300 & nbsp; in [x]
x = 300
def myinnerfunc[]:
print[x]
myinnerfunc[]
myfunc[]
Hãy tự mình thử »
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ỳ chức năng nào bên trong hàm:
Biến cục bộ có thể được truy cập từ một hàm 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 chức năng đó:
def myfunc []: & nbsp; x = 300 & nbsp; in [x]
Hãy tự mình thử »
print[x]
myfunc[]
print[x]
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ỳ chức năng nào bên trong hàm:
Biến cục bộ có thể được truy cập từ một hàm 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 chức năng đó:
def myfunc []: & nbsp; x = 300 & nbsp; in [x]
Hãy tự mình thử »
x = 200
print[x]
myfunc[]
print[x]
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ỳ chức năng nào bên trong hàm:
Biến cục bộ có thể được truy cập từ một hàm trong hàm:
def myfunc []: & nbsp; x = 300 & nbsp; def myinnerfunc []: & nbsp; & nbsp; in [x] & nbsp; myinnerfunc []
Thí dụ
Một biến được tạo bên trong một hàm có sẵn bên trong chức năng đó:
def myfunc []: & nbsp; x = 300 & nbsp; in [x]
global x
x = 300
myfunc[]
Hãy tự mình thử »
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ỳ chức năng 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 []: & nbsp; x = 300 & nbsp; in [x]
Hãy tự mình thử »
global x
x = 200
myfunc[]
Hãy tự mình thử »
Hãy tự mình thử »
Phạm vi toàn cầu
Một biến được tạo ra trong phần chính của mã Python là một biến toàn cầu và thuộc phạm vi toàn cầu.
Các biến toàn cầu có sẵn từ trong bất kỳ phạm vi, toàn cầu và địa phương.
Thí dụ
Một biến được tạo ra bên ngoài chức năng là toàn cầu và có thể được sử dụng bởi bất kỳ ai:
x = 300
def myfunc []: & nbsp; in [x]
print[x]
myfunc[]
print[x]
Hãy tự mình thử »
Đặt tên biến
Nếu bạn hoạt động với cùng một tên biến bên trong và bên ngoài hàm, Python sẽ coi chúng là hai biến riêng biệt, một biến có sẵn trong phạm vi toàn cầu [bên ngoài hàm] và một biến có sẵn trong phạm vi cục bộ [bên trong hàm]:
Thí dụ
Một biến được tạo ra bên ngoài chức năng là toàn cầu và có thể được sử dụng bởi bất kỳ ai:
x = 300
def myfunc []: & nbsp; in [x]
x = 200
print[x]
myfunc[]
print[x]
Hãy tự mình thử »
Trong hướng dẫn này, chúng ta sẽ tìm hiểu về các biến toàn cầu Python, các biến cục bộ và các biến không thuộc địa điểm với sự trợ giúp của các ví dụ.
VIDEO: Các biến số địa phương và toàn cầu của Python
Trong Python, chúng ta có thể khai báo các biến trong ba phạm vi khác nhau: phạm vi địa phương, phạm vi toàn cầu và không thuộc địa.
Một phạm vi biến chỉ định khu vực nơi chúng ta có thể truy cập một biến. Ví dụ,
def add_numbers[]:
sum = 5 + 4
Ở đây, biến tổng được tạo bên trong hàm, do đó nó chỉ có thể được truy cập trong nó [phạm vi cục bộ]. Loại biến này được gọi là biến cục bộ.
Dựa trên phạm vi, chúng ta có thể phân loại các biến Python thành ba loại:
- Các biến cục bộ
- Biến toàn cầu
- Biến không thuộc địa điểm
Python biến cục bộ
Khi chúng ta khai báo các biến bên trong một hàm, các biến này sẽ có phạm vi cục bộ [trong hàm]. Chúng ta không thể truy cập chúng bên ngoài chức năng.
Các loại biến này được gọi là biến cục bộ. Ví dụ,
def greet[]:
# local variable
message = 'Hello'
print['Local', message]
greet[]
# try to access message variable
# outside greet[] function
print[message]
Đầu ra
Local Hello NameError: name 'message' is not defined
Ở đây, biến tin nhắn là cục bộ của hàm
def greet[]:
# local variable
message = 'Hello'
print['Local', message]
greet[]
# try to access message variable
# outside greet[] function
print[message]
8, do đó nó chỉ có thể được truy cập trong hàm.Đó là lý do tại sao chúng tôi gặp lỗi khi chúng tôi cố gắng truy cập nó bên ngoài chức năng
def greet[]:
# local variable
message = 'Hello'
print['Local', message]
greet[]
# try to access message variable
# outside greet[] function
print[message]
8.Để khắc phục vấn đề này, chúng tôi có thể làm cho biến có tên là thông báo toàn cầu.
Biến toàn cầu Python
Trong Python, một biến được khai báo bên ngoài hàm hoặc trong phạm vi toàn cầu được gọi là biến toàn cầu. Điều này có nghĩa là một biến toàn cầu có thể được truy cập bên trong hoặc bên ngoài hàm.
Hãy xem một ví dụ về cách một biến toàn cầu được tạo ra trong Python.
# declare global variable
message = 'Hello'
def greet[]:
# declare local variable
print['Local', message]
greet[]
print['Global', message]
Đầu ra
Local Hello Global Hello
Lần này chúng ta có thể truy cập biến tin nhắn từ bên ngoài hàm
def greet[]:
# local variable
message = 'Hello'
print['Local', message]
greet[]
# try to access message variable
# outside greet[] function
print[message]
8. Điều này là do chúng tôi đã tạo biến tin nhắn là biến toàn cầu.# declare global variable
message = 'Hello'
Bây giờ, tin nhắn sẽ có thể truy cập được từ bất kỳ phạm vi [khu vực] của chương trình.
Python các biến không thuộc địa
Trong Python, các biến không thuộc địa được sử dụng trong các hàm lồng nhau có phạm vi cục bộ không được xác định. Điều này có nghĩa là biến có thể không ở trong địa phương cũng như phạm vi toàn cầu.
Chúng tôi sử dụng từ khóa
Local Hello NameError: name 'message' is not defined1 để tạo các biến không thuộc địa. Ví dụ, ví dụ,
# outside function
def outer[]:
message = 'local'
# nested function
def inner[]:
# declare nonlocal variable
nonlocal message
message = 'nonlocal'
print["inner:", message]
inner[]
print["outer:", message]
outer[]
Đầu ra
inner: nonlocal outer: nonlocal
Lần này chúng ta có thể truy cập biến tin nhắn từ bên ngoài hàm
def greet[]:
# local variable
message = 'Hello'
print['Local', message]
greet[]
# try to access message variable
# outside greet[] function
print[message]
8. Điều này là do chúng tôi đã tạo biến tin nhắn là biến toàn cầu.Bây giờ, tin nhắn sẽ có thể truy cập được từ bất kỳ phạm vi [khu vực] của chương trình.
Python các biến không thuộc địa : If we change the value of a nonlocal variable, the changes appear in the local variable.