btvn.vn

Hàm, phạm vi biến và gỡ lỗi

Lưu trên thiết bị này
Lập trình Python nền tảng · Chọn bài khác

Đặt tên cho một việc cần dùng lại

Nếu nhiều chỗ cùng cần tính một kết quả, ta có thể viết hàm. Hàm nhận dữ liệu qua tham số, xử lí và trả kết quả để nơi gọi tiếp tục dùng.

Từ định nghĩa đến lời gọi

def định nghĩa hàm; mã trong thân thường chạy khi gọi hàm. Tham số là tên trong định nghĩa, đối số là giá trị truyền ở lời gọi. return kết thúc lần gọi và trả giá trị; print chỉ hiển thị. Hàm không return giá trị rõ ràng sẽ trả None. Biến gán trong hàm thường là biến cục bộ. Với đối số số nguyên trong ví dụ, gán lại tham số không đổi biến số nguyên ở ngoài. Không mở rộng nhận xét đó thành “hàm không bao giờ làm đổi danh sách được truyền vào”. Lỗi cú pháp khiến mã không được phân tích đúng; lỗi khi chạy xuất hiện lúc thực hiện; lỗi logic có thể cho kết quả sai dù không báo lỗi.

Theo dõi lời gọi hàm

```python def gap_doi(x): return 2 * x a = 5 b = gap_doi(a + 1) print(a, b) ``` Đối số a + 1 được tính thành 6 rồi truyền vào x. Hàm trả 12, gán cho b; a vẫn 5. Kết quả in 5 12.

Thử vận dụng

Lệnh nào trả một giá trị để nơi gọi có thể tiếp tục tính toán?
Chọn một đáp án

Chọn dữ liệu thử có ý nghĩa

Hàm kiểm tra số chẵn cần thử số chẵn, số lẻ và giá trị 0; nếu phạm vi cho số âm thì thử thêm số âm. Nếu mọi dữ liệu thử đều là số chẵn, một hàm luôn trả True cũng vượt qua. Kiểm thử phát hiện lỗi nhưng không tự chứng minh đúng cho mọi dữ liệu.

Ví dụ xem cách làm

Hàm f(x) chỉ có print(x + 1). Gán y = f(2), y là gì và màn hình hiện gì?

Ví dụ xem cách làm

Hàm cần trả True với n >= 5 nhưng dùng n > 5. Chọn một dữ liệu thử làm lộ lỗi và nêu kết quả đúng.

Những điều cần nhớ

Khi đọc hàm, theo dõi đối số, biến cục bộ và giá trị trả về. Chọn dữ liệu thử theo các trường hợp, nhất là ranh giới của điều kiện.

Đang học