Python bài 03: Kiểu dữ liệu, toán tử và chuyển đổi kiểu
- 18-10-2026
- Toanngo92
- 0 Comments
Giáo trình Python miễn phí · Chương 2/12: Kiểu dữ liệu, toán tử và chuỗi · Bài 03/24.
Mục lục
Mục tiêu bài học
Phân biệt int, float, bool, None và dùng toán tử phù hợp, tránh các lỗi tính toán thường gặp.
Giá trị có kiểu, tên biến có thể gắn lại
int biểu diễn số nguyên, float biểu diễn số thực dấu phẩy động, bool gồm True và False, còn None thường biểu diễn chưa có kết quả hoặc không có giá trị. Dùng type() để quan sát kiểu, isinstance() khi cần kiểm tra một giá trị có thuộc một kiểu hay không.
Python không yêu cầu khai báo kiểu biến trước khi gán. Điều đó không có nghĩa có thể cộng tùy ý số với chuỗi. Tên biến có thể gắn sang đối tượng khác, nhưng kiểu của giá trị quyết định các phép toán được hỗ trợ.
so_luong = 3
don_gia = 19.5
da_thanh_toan = False
ma_giam_gia = None
print(type(so_luong).__name__)
print(so_luong * don_gia)
print(ma_giam_gia is None)
print(bool(""), bool("False"))
Kết quả:
int 58.5 True False True
Toán tử số học và so sánh
/ thực hiện phép chia cho kết quả số thực; // là chia lấy phần nguyên theo hướng âm vô cùng, không đơn giản là bỏ phần thập phân. % lấy phần dư, ** là lũy thừa. So sánh dùng ==, !=, <, <=, >, >=; kết hợp điều kiện bằng and, or, not.
Dấu = dùng để gán còn == dùng so sánh giá trị. is kiểm tra hai tên có cùng trỏ đến một đối tượng hay không; không dùng is để so sánh số hoặc chuỗi. Trường hợp thông dụng là kiểm tra is None.
print(7 / 2, 7 // 2, 7 % 2)
print(-7 // 2)
tuoi = int("20")
print(tuoi >= 18 and tuoi < 60)
print(str(120) + " phút")
Kết quả:
3.5 3 1 -4 True 120 phút
Chuyển kiểu và độ chính xác
Các tên đúng là int(), float(), str(), bool(). int("3.5") không hợp lệ: đó không phải chuỗi số nguyên. bool("False") là True vì chuỗi không rỗng. float có sai số biểu diễn nhị phân, nên phép tính tiền cần quy ước rõ: dùng số nguyên theo đơn vị đồng hoặc Decimal tạo từ chuỗi thập phân.
Đặt ngoặc cho biểu thức phức tạp để ý định dễ đọc. Trước khi chuyển kiểu từ dữ liệu người dùng hoặc API, cần xác định miền giá trị hợp lệ, không chỉ kiểm tra chuyển kiểu có thành công hay không.
Lỗi thường gặp và lưu ý
- Không dùng == để kiểm tra mọi phép tính float. Khi so sánh gần bằng, cân nhắc math.isclose() với ngưỡng phù hợp.
- Tên VIET_HOA thể hiện quy ước hằng số; Python vẫn cho phép gán lại tên đó.
Ghi nhớ
Chọn đúng kiểu giúp biểu diễn đúng bài toán. Đặc biệt cần phân biệt chuỗi số với số, phép gán với so sánh và giá trị rỗng với chuỗi có nội dung.
