Biến, Kiểu Dữ Liệu & Toán Tử
Giai đoạn 1 – Nhập Môn · Mục tiêu: Hiểu cách khai báo biến, các kiểu dữ liệu cơ bản, và sử dụng toán tử.
1. Biến (Variable)
Biến là nơi lưu trữ dữ liệu trong bộ nhớ. Python tự nhận biết kiểu — không cần khai báo kiểu trước.
ten = "Nguyễn Thanh Vũ" # str
tuoi = 20 # int
diem_tb = 8.5 # float
la_sinh_vien = True # bool
Quy tắc đặt tên biến
| Quy tắc | Đúng | Sai |
|---|---|---|
Bắt đầu bằng chữ hoặc _ | ten, _bien | 2bien, @ten |
Chỉ chứa chữ, số, _ | ho_ten, diem1 | ho-ten, điểm |
| Phân biệt HOA / thường | Ten ≠ ten ≠ TEN | — |
| Không dùng từ khoá Python | diem, ten_hs | if, for, class |
:::tip Quy ước
Python dùng snake_case: ho_ten, diem_trung_binh, so_luong_san_pham.
:::
Gán nhiều biến
x, y, z = 1, 2, 3 # Gán nhiều biến cùng lúc
a = b = c = 0 # Gán cùng giá trị
x, y = y, x # Hoán đổi giá trị (đặc biệt trong Python!)
2. Kiểu dữ liệu (Data Types)
2.1. Các kiểu cơ bản
| Kiểu | Mô tả | Ví dụ |
|---|---|---|
int | Số nguyên | 42, -10, 0 |
float | Số thực | 3.14, -0.5, 1.0 |
str | Chuỗi ký tự | "Xin chào", 'Python' |
bool | Giá trị logic | True, False |
NoneType | Giá trị rỗng | None |
2.2. Kiểm tra kiểu
print(type(42)) # <class 'int'>
print(type(3.14)) # <class 'float'>
print(type("Hello")) # <class 'str'>
print(type(True)) # <class 'bool'>
2.3. Ép kiểu (Type Casting)
tuoi = int("20") # str → int
diem = float("8.5") # str → float
so = str(100) # int → str
x = int(3.7) # float → int → 3 (cắt phần thập phân)
y = float(5) # int → float → 5.0
print(bool(0)) # False
print(bool(1)) # True
print(bool("")) # False
print(bool("abc")) # True
:::warning Lỗi thường gặp
input() luôn trả về chuỗi (str). Muốn tính toán phải ép kiểu:
# Sai
tuoi = input("Nhập tuổi: ")
nam_sinh = 2025 - tuoi # TypeError!
# Đúng
tuoi = int(input("Nhập tuổi: "))
nam_sinh = 2025 - tuoi # OK
:::
3. Toán tử (Operators)
3.1. Toán tử số học
| Toán tử | Ý nghĩa | Ví dụ | Kết quả |
|---|---|---|---|
+ | Cộng | 7 + 3 | 10 |
- | Trừ | 7 - 3 | 4 |
* | Nhân | 7 * 3 | 21 |
/ | Chia (float) | 7 / 3 | 2.333… |
// | Chia lấy phần nguyên | 7 // 3 | 2 |
% | Chia lấy dư | 7 % 3 | 1 |
** | Luỹ thừa | 2 ** 10 | 1024 |
3.2. Toán tử so sánh
| Toán tử | Ý nghĩa | Ví dụ | Kết quả |
|---|---|---|---|
== | Bằng | 5 == 5 | True |
!= | Khác | 5 != 3 | True |
> | Lớn hơn | 5 > 3 | True |
< | Nhỏ hơn | 5 < 3 | False |
>= | Lớn hơn hoặc bằng | 5 >= 5 | True |
<= | Nhỏ hơn hoặc bằng | 5 <= 3 | False |
3.3. Toán tử logic
| Toán tử | Ý nghĩa | Ví dụ | Kết quả |
|---|---|---|---|
and | VÀ | True and False | False |
or | HOẶC | True or False | True |
not | PHỦ ĐỊNH | not True | False |
tuoi = 20
co_cmnd = True
if tuoi >= 18 and co_cmnd:
print("Đủ điều kiện đăng ký")
3.4. Toán tử gán tắt
| Toán tử | Tương đương | Ví dụ |
|---|---|---|
+= | x = x + n | x += 5 |
-= | x = x - n | x -= 3 |
*= | x = x * n | x *= 2 |
/= | x = x / n | x /= 4 |
//= | x = x // n | x //= 3 |
%= | x = x % n | x %= 2 |
**= | x = x ** n | x **= 3 |
3.5. Toán tử đặc biệt
# in — kiểm tra phần tử tồn tại
print("P" in "Python") # True
print(3 in [1, 2, 3, 4]) # True
# is — kiểm tra cùng đối tượng
a = [1, 2, 3]
b = [1, 2, 3]
c = a
print(a == b) # True (cùng giá trị)
print(a is b) # False (khác đối tượng)
print(a is c) # True (cùng đối tượng)
4. Hằng số
Python không có từ khoá const — quy ước dùng CHỮ IN HOA:
PI = 3.14159
MAX_STUDENTS = 50
DATABASE_URL = "localhost:3306"
Bài tập thực hành
Trắc nghiệm
-
17 // 5bằng bao nhiêu?- A. 3.4
- B. 3
- C. 2
- D. 4
-
type(3.0)trả về gì?- A.
<class 'int'> - B.
<class 'float'> - C.
<class 'str'> - D.
<class 'number'>
- A.
-
bool("")là gì?- A.
True - B.
False - C.
None - D. Lỗi
- A.
Bài tập Toán Tử
Bài 1 – Máy tính 4 phép
Viết chương trình nhập 2 số thực từ bàn phím, in ra kết quả của tất cả các toán tử số học.
Bài 2 – Kiểm tra số chẵn / lẻ
Nhập một số nguyên, kiểm tra xem số đó chẵn hay lẻ bằng toán tử %.
Bài 3 – Đổi giây sang giờ/phút/giây
Nhập tổng số giây, in ra kết quả dạng X giờ Y phút Z giây bằng cách dùng // và %.
Bài 4 – Kiểm tra điểm đạt / trượt
Nhập điểm (0–10). Dùng toán tử so sánh và logic để kiểm tra các điều kiện và in kết quả True/False.
Bài 5 – Toán tử gán tắt: Cộng dồn tiền
Khởi tạo tien = 0. Dùng toán tử gán tắt (+=, -=, *=) để mô phỏng các giao dịch và in ra số dư cuối cùng.
Bài 6 – Kiểm tra năm nhuận
Nhập năm, dùng toán tử %, and, or để kiểm tra có phải năm nhuận hay không.
Quy tắc năm nhuận: Chia hết cho 4, nhưng không chia hết cho 100 — ngoại trừ chia hết cho 400.
Bài 7 – Toán tử đặc biệt: in và is
Viết chương trình minh hoạ sự khác nhau giữa == và is, và cách dùng in để kiểm tra phần tử.