👤
GAME HOT TIN HỌC 10 TIN HỌC 11 TIN HỌC 12 TRỢ LÝ TÀI NĂNG HỌC TẬP ONLINE TỐT NGHIỆP THPT LIÊN HỆ
DANH MỤC ×

BÀI 28. PHẠM VI CỦA BIẾN

BÀI 28. PHẠM VI CỦA BIẾN

BÀI 28. PHẠM VI CỦA BIẾN

1. PHẠM VI CỦA BIẾN KHAI BÁO TRONG HÀM

Đặc điểm: Các biến được tạo ra bên trong một hàm chỉ có tác dụng ở bên trong chính hàm đó (còn gọi là biến cục bộ/địa phương).

Phạm vi sử dụng: Các biến này chỉ được sử dụng ở bên trong chính hàm đó. Chương trình chính (bên ngoài hàm) không thể sử dụng được biến này. Nếu cố tình gọi, máy sẽ báo lỗi chưa định nghĩa.

Ví dụ: Giống như một món đồ chơi em cất trong phòng ngủ, người ở ngoài phòng sẽ không thể lấy để chơi.

Ví dụ: Phạm vi của biến cục bộ khai báo trong hàm

Chương trình Python hoàn chỉnh:

Mã nguồn chương trình minh họa biến cục bộ

2. PHẠM VI CỦA BIẾN KHAI BÁO NGOÀI HÀM

Các biến được tạo ra ở chương trình chính (bên ngoài các hàm) được gọi là biến toàn cục.

a) Đọc giá trị biến ngoài hàm từ bên trong hàm

Đặc điểm: Bên trong hàm có thể truy cập để xem và sử dụng giá trị của biến đã khai báo trước đó ở bên ngoài hàm.

Ví dụ: Giống như chiếc đồng hồ treo ở phòng khách, mọi người trong nhà đều có thể đến xem giờ khi cần.

Ví dụ: Đọc giá trị biến ngoài hàm từ bên trong hàm

Chương trình Python hoàn chỉnh:

Mã nguồn chương trình đọc giá trị biến toàn cục

b) Thay đổi giá trị biến ngoài hàm từ bên trong hàm

Đặc điểm: Biến khai báo bên ngoài mặc định sẽ không cho phép hàm tự ý thay đổi giá trị. Nếu muốn thay đổi giá trị của biến này từ bên trong hàm, em bắt buộc phải khai báo lại biến đó với từ khoá global.

Ví dụ: Giống như heo đất chung của cả nhà để ở phòng khách. Nếu em muốn lấy tiền từ heo đất để đi mua đồ, em phải xin phép (dùng lệnh global).

Ví dụ: Thay đổi giá trị biến ngoài hàm bằng từ khóa global

Chương trình Python hoàn chỉnh:

Mã nguồn chương trình sử dụng từ khóa global

3. THỰC HÀNH: PHẠM VI CỦA BIẾN

Nhiệm vụ 1: Khám phá "Biến cục bộ".

Đề bài:
Trong lập trình, các biến khai báo bên trong hàm chỉ có tác dụng bên trong hàm đó (tính địa phương/cục bộ).
Em hãy viết chương trình tạo một biến tien_tui ở bên ngoài hàm. Sau đó, viết một hàm di_sieu_thi() cũng tạo một biến tien_tui ở bên trong.
Kiểm tra xem việc tiêu tiền bên trong hàm có làm thay đổi số tiền ở bên ngoài hàm hay không.

Hướng dẫn:

  1. Khai báo biến tien_tui ngoài hàm và gán cho nó một giá trị (ví dụ: 100).
  2. Định nghĩa hàm di_sieu_thi(). Bên trong hàm này, gán biến tien_tui = 0 (tiêu hết tiền) và in ra màn hình.
  3. Gọi hàm di_sieu_thi(). Sau đó, in biến tien_tui ở ngoài hàm ra màn hình để so sánh.
Minh họa Nhiệm vụ 1: Khám phá Biến cục bộ

Chương trình Python hoàn chỉnh:

Mã nguồn chương trình Python hoàn chỉnh cho Nhiệm vụ 1

Nhiệm vụ 2: Sử dụng từ khóa global để thay đổi biến toàn cục.

Đề bài:
Biến đã khai báo bên ngoài sẽ không có tác dụng bên trong hàm như một biến thông thường. Nếu muốn hàm có thể thay đổi được giá trị của biến bên ngoài, ta cần dùng từ khóa global.
Em hãy viết chương trình có một biến diem_kinh_nghiem ở ngoài hàm. Viết hàm tang_diem() sử dụng từ khóa global để cộng thêm 50 điểm vào biến này mỗi khi gọi hàm.

Hướng dẫn:

  1. Tạo biến diem_kinh_nghiem = 0 ở ngoài hàm.
  2. Định nghĩa hàm tang_diem(). Dòng đầu tiên trong hàm phải là global diem_kinh_nghiem để xin phép Python cho sử dụng biến bên ngoài.
  3. Tăng biến đó lên 50.
  4. Gọi hàm 2 lần và in kết quả để quan sát sự thay đổi.
Minh họa Nhiệm vụ 2: Sử dụng từ khóa global để thay đổi biến toàn cục

Chương trình Python hoàn chỉnh:

Mã nguồn chương trình Python hoàn chỉnh cho Nhiệm vụ 2

Nhiệm vụ 3: Lọc danh sách điểm số.

Đề bài:
Viết một hàm có tên là loc_diem_dat(danh_sach_A, muc_diem_x). Hàm sẽ duyệt qua các điểm số trong danh sách A, tìm những điểm lớn hơn hoặc bằng muc_diem_x và lưu vào một danh sách mới B để trả về.

Hướng dẫn:

  1. Khởi tạo một hàm với 2 tham số: danh sách chứa điểm và mức điểm cần so sánh.
  2. Bên trong hàm, tạo một danh sách rỗng B = [] (đây là biến cục bộ, chỉ sống trong hàm).
  3. Dùng vòng lặp for để duyệt từng phần tử trong danh sách truyền vào. Dùng lệnh if để kiểm tra, nếu điểm >= muc_diem_x thì dùng B.append() để thêm vào danh sách kết quả. Cuối cùng dùng return B.
Minh họa Nhiệm vụ 3: Lọc danh sách điểm số

Chương trình Python hoàn chỉnh:

Mã nguồn chương trình Python hoàn chỉnh cho Nhiệm vụ 3