Không phải tất cả biến trong chương trình đều truy cập được ở mọi nơi. Điều này phụ thuộc vào nơi bạn khai báo biến.
Phạm vi của biến xác định phần chương trình nơi bạn có thể truy cập một identifier cụ thể. Có hai phạm vi cơ bản trong Python:
- Biến toàn cục (Global variables)
- Biến cục bộ (Local variables)
Biến toàn cục vs. Biến cục bộ
Biến định nghĩa bên trong thân hàm có phạm vi cục bộ, biến định nghĩa bên ngoài có phạm vi toàn cục.
Biến cục bộ chỉ truy cập được trong hàm khai báo, biến toàn cục truy cập được khắp chương trình bởi mọi hàm. Khi gọi hàm, biến khai báo bên trong được đưa vào phạm vi.
Ví dụ
#!/usr/bin/python
total = 0; # Biến toàn cục
def sum(arg1, arg2):
total = arg1 + arg2; # Biến cục bộ
print "Inside the function local total : ", total
return total
sum(10, 20);
print "Outside the function global total : ", total
Kết quả
Khi mã chạy, kết quả:
Inside the function local total : 30 Outside the function global total : 0