Explore all courses in this category.
Explore all courses in this category.
Nguyễn Đình Cường
0 comment
09 Nov, 2026
Mọi chương trình đều phải nhớ thông tin: tên người dùng, điểm số, giá sản phẩm. Nơi lưu trữ những thông tin đó gọi là biến, và loại thông tin quyết định kiểu dữ liệu của nó. Nắm chắc hai khái niệm này, bạn đã có nền móng cho mọi ngôn ngữ.
Biến (variable) là một cái hộp có dán nhãn dùng để chứa giá trị. Bạn đặt tên cho hộp, bỏ giá trị vào, và sau đó gọi tên để lấy ra hoặc thay đổi. Trong Python:
ten = "Lan"
tuoi = 21
tuoi = tuoi + 1 # tuoi giờ là 22
print(ten, tuoi)Dòng đầu tạo biến ten chứa chuỗi "Lan". Dòng thứ ba cho thấy giá trị của biến có thể thay đổi, đó là lý do nó được gọi là "biến". Nếu giá trị không bao giờ đổi, nhiều ngôn ngữ cho phép khai báo hằng số (constant), ví dụ const PI = 3.14 trong JavaScript.
Máy tính cần biết một giá trị là số hay chữ để xử lý đúng. Hầu hết ngôn ngữ đều có những kiểu sau:
| Kiểu | Ý nghĩa | Ví dụ |
|---|---|---|
| Số nguyên (int) | Số không có phần thập phân | 5, -12, 0 |
| Số thực (float) | Số có phần thập phân | 3.14, -0.5 |
| Chuỗi (string) | Văn bản | "Xin chào" |
| Logic (boolean) | Đúng hoặc sai | True, False |
Ngoài ra còn các kiểu phức hợp như danh sách (list/array), từ điển (dictionary/object), mà bạn sẽ gặp ở các bài sau.
Cùng một phép toán nhưng kiểu khác nhau cho kết quả khác nhau:
print(2 + 3) # 5 (cộng số)
print("2" + "3") # 23 (nối chuỗi)
print("ab" * 3) # abababMột lỗi kinh điển của người mới là đọc dữ liệu người dùng nhập vào (luôn là chuỗi) rồi cộng như số:
a = input("Nhập a: ")
b = input("Nhập b: ")
print(a + b) # nhập 2 và 3 sẽ ra "23"
print(int(a) + int(b)) # đúng: 5Việc đổi từ kiểu này sang kiểu khác gọi là ép kiểu (type casting), ví dụ int(), float(), str().
Ngôn ngữ chia làm hai trường phái:
int tuoi = 21;. Trình biên dịch phát hiện nhiều lỗi sớm.Không bên nào hơn hẳn. Kiểu tĩnh giúp dự án lớn dễ kiểm soát, kiểu động giúp viết thử nghiệm nhanh. Nhiều dự án JavaScript hiện nay dùng TypeScript để có thêm kiểm tra kiểu.
Tên biến tốt giúp code tự giải thích:
gia_san_pham tốt hơn x.snake_case (Python) hoặc camelCase (JavaScript, Java).tuoi và Tuoi là hai biến khác nhau.Biến tạo bên trong một hàm thường chỉ dùng được trong hàm đó (biến cục bộ). Biến tạo bên ngoài có thể dùng rộng hơn (biến toàn cục). Lạm dụng biến toàn cục dễ gây lỗi khó tìm vì bất kỳ đoạn code nào cũng có thể sửa nó, nên hãy ưu tiên biến cục bộ và truyền giá trị qua tham số.
= và phép so sánh ==.5 / 2 cho 2, còn Python cho 2.5.Hãy áp dụng biến và kiểu dữ liệu vào một ví dụ thực tế: tính tổng tiền của một đơn hàng có thuế.
ten_hang = "Sách Python"
don_gia = 120000 # số nguyên, đơn vị đồng
so_luong = 3
thue_phan_tram = 8
thanh_tien = don_gia * so_luong
thue = thanh_tien * thue_phan_tram / 100
tong = thanh_tien + thue
print(f"Hàng: {ten_hang}")
print(f"Thành tiền: {thanh_tien}")
print(f"Thuế: {thue}")
print(f"Tổng cộng: {tong}")Chương trình dùng đủ bốn kiểu: chuỗi, số nguyên, số thực (kết quả phép chia) và có thể thêm một biến Boolean như co_giam_gia. Hãy thử thay so_luong thành chuỗi "3" để xem lỗi kiểu dữ liệu xuất hiện thế nào, rồi sửa bằng int(). Việc cố ý gây lỗi và đọc thông báo là cách học nhanh nhất.
Biến giúp chương trình ghi nhớ, kiểu dữ liệu giúp máy tính hiểu giá trị đó là gì. Hãy tự tay thử các ví dụ trên, cố tình làm sai để xem thông báo lỗi, bạn sẽ nhớ lâu hơn bất kỳ định nghĩa nào.
Học xong lý thuyết, hãy thực hành thật nhiều; các bài giảng có bài tập trong khóa học codebem.com sẽ giúp bạn việc đó.
Nguyễn Đình Cường
0 comment