Trả lời nhanh
Đáp án đúng là D. ab_c1. Tên biến hợp lệ trong Python chỉ gồm chữ cái, chữ số và dấu gạch dưới (_), không bắt đầu bằng chữ số, không có dấu cách và không trùng với từ khoá của ngôn ngữ. Tên ab_c1 đáp ứng đủ các điều kiện đó. Phương án “1 đếm” sai vì bắt đầu bằng số và chứa dấu cách, còn “tích”, “tổng” là tên có dấu tiếng Việt nên không được dùng theo quy ước ở bậc phổ thông.
Quy tắc đặt tên biến trong Python
Tên biến (còn gọi là định danh) là cách em gọi tên một vùng nhớ chứa dữ liệu. Khi viết chương trình, em cần tuân theo các quy tắc sau:
- Chỉ dùng chữ cái Latin không dấu (a–z, A–Z), chữ số (0–9) và dấu gạch dưới (_).
- Không được bắt đầu bằng chữ số. Có thể bắt đầu bằng chữ cái hoặc dấu gạch dưới.
- Không chứa dấu cách và các kí tự đặc biệt như -, +, *, /, @, $, %.
- Không trùng với từ khoá của Python như
if,for,while,class,True,None. - Phân biệt chữ hoa và chữ thường:
diemvàDiemlà hai biến khác nhau.
Phân tích từng phương án
| Phương án | Kết luận | Lí do |
|---|---|---|
| A. tích | Không chọn | Có dấu tiếng Việt. Python 3 về mặt kĩ thuật chấp nhận chữ Unicode, nhưng quy tắc dạy ở trường là chỉ dùng chữ cái không dấu để chương trình chạy ổn định trên mọi môi trường. |
| B. tổng | Không chọn | Cùng lí do với phương án A. Nếu muốn đặt tên theo nghĩa “tổng”, hãy viết tong hoặc sum_value. |
| C. 1 đếm | Sai | Vi phạm hai quy tắc: bắt đầu bằng chữ số 1 và có dấu cách giữa hai phần. |
| D. ab_c1 | Đúng | Bắt đầu bằng chữ cái, chỉ chứa chữ cái, dấu gạch dưới và chữ số, không phải từ khoá. |
Mẹo nhớ nhanh khi làm trắc nghiệm
Em hãy kiểm tra theo ba bước, mỗi bước chỉ mất vài giây:
- Nhìn kí tự đầu tiên: nếu là số thì loại ngay.
- Quét cả tên: có dấu cách, dấu gạch ngang hay kí tự lạ thì loại.
- So với danh sách từ khoá: nếu tên chính là một từ khoá thì loại.
Phương án nào qua được cả ba bước thì đó là tên biến đúng. Với câu này, chỉ có ab_c1 đi qua trọn vẹn.
Ví dụ trong chương trình thực tế
so_hoc_sinh = 40
diem_toan1 = 8.5
_tam = 0
1lop = 10 # SAI: bắt đầu bằng chữ số
diem toan = 9 # SAI: có dấu cách
for = 5 # SAI: trùng từ khoá
Ba dòng đầu chạy bình thường, ba dòng sau đều báo lỗi cú pháp (SyntaxError). Nhờ vậy em thấy rõ vì sao đề bài chỉ cho phép một đáp án.
Lỗi sai thường gặp
- Nghĩ rằng dấu gạch ngang giống dấu gạch dưới. Tên
so-lanbị hiểu là phép trừsotrừlan, nên sai. - Quên phân biệt hoa thường. Khai báo
Tong = 0rồi gọitongsẽ báo lỗi chưa định nghĩa (NameError). - Đặt tên trùng hàm có sẵn như
sum,max,print. Python không báo lỗi ngay nhưng làm mất hàm gốc trong chương trình.
Bài luyện tập
Bài 1. Trong các tên _dem, 2tong, ten_hs, diem-tb, hãy chọn những tên đúng.
Đáp án: _dem và ten_hs. Tên 2tong bắt đầu bằng số, diem-tb chứa dấu gạch ngang.
Bài 2. Sửa tên biến tong so để dùng được trong Python.
Đáp án: thay dấu cách bằng gạch dưới, được tong_so.
Bài 3. Tên While có phải từ khoá không?
Đáp án: Từ khoá là while viết thường; vì Python phân biệt hoa thường nên While là tên hợp lệ, nhưng không nên dùng để tránh gây nhầm lẫn khi đọc mã.
Em cũng có thể xem thêm cách chọn công cụ trong phần mềm đồ hoạ ở bài Để tạo văn bản trong phần mềm GIMP ta chọn để ôn thêm kiến thức Tin học.
Câu hỏi thường gặp
Tên biến trong Python có được bắt đầu bằng chữ số không?
Không. Tên biến phải bắt đầu bằng chữ cái hoặc dấu gạch dưới. Ví dụ 1lop là sai còn lop1 hoặc _lop1 là đúng.
Tên biến trong Python có phân biệt chữ hoa và chữ thường không?
Có. Python coi diem, Diem và DIEM là ba biến khác nhau, nên khi gọi lại biến phải viết đúng hoàn toàn.
Có thể dùng dấu cách hoặc dấu gạch ngang trong tên biến không?
Không. Muốn tách từ, em dùng dấu gạch dưới, ví dụ so_hoc_sinh. Dấu gạch ngang bị hiểu là phép trừ.
Có được đặt tên biến trùng từ khoá của Python không?
Không. Các từ như if, for, while, class, True, None là từ khoá dành riêng, dùng làm tên biến sẽ báo lỗi cú pháp.