Phạm vi của biến
Phạm vi quyết định nơi biến có hiệu lực; biến trong hàm là cục bộ, còn global cho phép sửa biến ngoài hàm.
Hiểu bài
Biến cục bộ, biến ngoài hàm và global
Biến được khai báo bên trong hàm có tính địa phương hoặc cục bộ: nó chỉ có hiệu lực trong hàm và không thể được truy cập như một biến đã tồn tại ở bên ngoài. Vì vậy, sau khi một hàm kết thúc, việc gọi tên một biến chỉ được tạo trong hàm có thể gây NameError.
Biến được khai báo trong chương trình chính có thể được hàm đọc trong một số biểu thức. Tuy nhiên, nếu muốn thao tác với tên đó như một biến tổng thể và làm thay đổi giá trị bên ngoài, cần khai báo global trong hàm. Ví dụ:
def f(n):
global t
t = 2*n + 1
return t
t = 10
f(1)
Sau lời gọi, t đã được thay đổi theo phép gán trong hàm. Bài học nhấn mạnh cần phân biệt biến địa phương với biến tổng thể để tránh nhầm lẫn khi cùng một tên xuất hiện ở nhiều phạm vi. Phần thực hành yêu cầu viết hàm xử lí xâu theo lựa chọn chữ hoa, chữ thường và xây dựng các hàm tách dữ liệu danh sách.