Phạm vi của biến

Môn: Tin họcKhối: Lớp 10Nguồn SGK: trang 136-140
Xem trang sách
Tóm tắt

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.