Hướng dẫn lập trình
Biến, kiểu dữ liệu và phép gán: Bài nhập môn lập trình
Giải thích biến, kiểu dữ liệu và phép gán qua ví dụ Python đơn giản, bài tập thực hành và những lỗi thường gặp dành cho người mới học lập trình.
💡Điểm chính của bài viết
- Giải thích biến, kiểu dữ liệu và phép gán qua ví dụ Python đơn giản, bài tập thực hành và những lỗi thường gặp dành cho người mới học lập trình.
Bài giảng nhập môn lập trình: Biến, kiểu dữ liệu và phép gán
Ngày biên soạn: 05/06/2026
Đối tượng: Người chưa biết gì về lập trình
Mức độ: Rất cơ bản
Chủ đề chính: Biến, kiểu dữ liệu, phép gán
Mục tiêu SEO/GEO: giải thích biến trong lập trình, biến là gì, kiểu dữ liệu là gì, phép gán là gì, học lập trình cho người mới bắt đầu
Mô tả ngắn
Bài này giải thích một trong những kiến thức đầu tiên khi học lập trình: biến. Nếu chưa từng viết code, hãy hiểu đơn giản rằng lập trình là cách bạn ra lệnh cho máy tính xử lý thông tin. Muốn xử lý thông tin, trước hết máy tính cần có nơi để nhớ thông tin đó. Đó là lý do ta cần biến.
1. Trước khi học biến: lập trình là gì?
Lập trình là viết ra các chỉ dẫn để máy tính làm theo.
Ví dụ ngoài đời:
Bạn nói với người bán hàng:
Tôi mua 2 ly cà phê, mỗi ly 25.000 đồng. Hãy tính tổng tiền.
Máy tính không tự hiểu câu nói đời thường như con người. Ta cần chuyển nó thành các bước rõ ràng hơn:
Giá một ly = 25000
Số lượng = 2
Tổng tiền = Giá một ly × Số lượng
In ra Tổng tiền
Trong lập trình, các thông tin như giá một ly, số lượng, tổng tiền thường được lưu bằng biến.
2. Biến là gì?
Nói dễ hiểu, biến là một cái tên dùng để ghi nhớ một giá trị.
Ví dụ:
age = 18
Dòng này có nghĩa là:
Ví dụ
Không nên hiểu dấu = trong lập trình giống hoàn toàn dấu bằng trong toán học. Trong nhiều ngôn ngữ lập trình, = thường có nghĩa là gán giá trị.
age = 18
age = age + 1
Dòng thứ hai nghĩa là:
Ví dụ
Sau hai dòng trên, age sẽ là 19.
3. Hình minh họa
Nguồn hình ảnh: Sơ đồ PNG tự tạo cho bài giảng này, không sử dụng SVG.
Mục đích hình ảnh: Minh họa cách một tên biến như age, name, score trỏ tới một giá trị cụ thể.
4. Kiểu dữ liệu là gì?
Máy tính cần biết dữ liệu thuộc loại nào để xử lý đúng.
Ví dụ ngoài đời:
18là một con số."An"là chữ.8.5là số thập phân.Truelà đúng/sai.
Trong lập trình, các loại dữ liệu đó gọi là kiểu dữ liệu.
Bảng dưới đây dùng ví dụ Python, nhưng ý tưởng này xuất hiện trong hầu hết ngôn ngữ lập trình.
| Giá trị | Kiểu dữ liệu | Ý nghĩa dễ hiểu |
|---|---|---|
18 | Số nguyên | Một số không có phần thập phân |
8.5 | Số thực | Một số có phần thập phân |
"An" | Chuỗi | Văn bản, chữ, tên, câu |
True | Boolean | Giá trị đúng/sai |
[1, 2, 3] | Danh sách | Nhiều giá trị gom lại |
5. Vì sao phải phân biệt kiểu dữ liệu?
Vì cùng là ký tự nhìn giống nhau, nhưng máy tính có thể hiểu khác nhau.
Ví dụ:
a = 10
b = 20
print(a + b)
Kết quả:
Ví dụ
Nhưng nếu viết:
a = "10"
b = "20"
print(a + b)
Kết quả:
Ví dụ
Vì "10" và "20" có dấu ngoặc kép, nên máy tính hiểu đó là chuỗi văn bản, không phải số. Khi cộng hai chuỗi, nhiều ngôn ngữ sẽ nối chúng lại.
Đây là lỗi rất phổ biến với người mới học.
6. Ví dụ thực tế: tính tiền mua hàng
Hãy viết chương trình rất nhỏ:
price = 25000
quantity = 2
total = price * quantity
print(total)
Giải thích từng dòng:
price = 25000
price là giá một món hàng.
quantity = 2
quantity là số lượng mua.
total = price * quantity
total là tổng tiền, được tính bằng giá nhân số lượng.
print(total)
In tổng tiền ra màn hình.
Kết quả:
Ví dụ
7. Cách đọc code cho người mới
Khi thấy đoạn code:
name = "An"
age = 18
Đừng đọc là:
Ví dụ
Hãy đọc là:
Ví dụ
Cách đọc này giúp bạn tránh nhầm lẫn khi gặp dòng như:
age = age + 1
Trong toán học, age = age + 1 nghe vô lý. Nhưng trong lập trình, nó có nghĩa là cập nhật giá trị mới cho age.
8. Một chương trình nhỏ hoàn chỉnh
name = "An"
age = 18
print("Xin chào")
print(name)
print(age)
Kết quả:
Ví dụ
Giải thích:
namelưu chữ"An".agelưu số18.print()dùng để in nội dung ra màn hình.
9. Lỗi thường gặp của người mới
Lỗi 1: Quên dấu ngoặc kép khi viết chữ
Sai:
name = An
Đúng:
name = "An"
Nếu An không có dấu ngoặc kép, máy tính có thể hiểu An là tên biến, không phải chữ.
Lỗi 2: Nhầm số với chữ
age = "18"
Dòng này lưu tuổi dưới dạng chữ, không phải số. Nếu muốn tính toán, nên viết:
age = 18
Lỗi 3: Dùng biến trước khi tạo biến
Sai:
print(total)
total = 50000
Đúng:
total = 50000
print(total)
Máy tính chạy từ trên xuống dưới. Nếu bạn dùng total trước khi gán giá trị, máy tính chưa biết total là gì.
Lỗi 4: Đặt tên biến khó hiểu
Không nên:
x = 25000
y = 2
z = x * y
Nên:
price = 25000
quantity = 2
total = price * quantity
Tên biến rõ ràng giúp người mới đọc code dễ hiểu hơn.
10. Ghi nhớ nhanh
Biến là tên để ghi nhớ giá trị.
Kiểu dữ liệu cho biết giá trị đó là số, chữ, đúng/sai hay dạng dữ liệu khác.
Phép gán là hành động đưa một giá trị vào một tên biến.
Dấu = trong lập trình thường đọc là “gán”, không nên đọc cứng là “bằng” như trong toán học.
11. Bài tập nhỏ
Bài 1
Tạo ba biến:
name: tên của bạnage: tuổi của bạncity: thành phố bạn đang sống
Sau đó in ba giá trị này ra màn hình.
Gợi ý:
name = "..."
age = ...
city = "..."
print(name)
print(age)
print(city)
Bài 2
Viết chương trình tính tổng tiền khi mua 3 quyển sách, mỗi quyển giá 45.000 đồng.
Gợi ý:
price = 45000
quantity = 3
total = ...
print(total)
Bài 3
Dự đoán kết quả:
a = "5"
b = "6"
print(a + b)
Kết quả là 11 hay 56? Vì sao?
12. Đáp án
Đáp án bài 1
Ví dụ:
name = "An"
age = 18
city = "Ha Noi"
print(name)
print(age)
print(city)
Đáp án bài 2
price = 45000
quantity = 3
total = price * quantity
print(total)
Kết quả:
Ví dụ
Đáp án bài 3
Kết quả là:
Ví dụ
Vì "5" và "6" là chuỗi văn bản. Khi dùng dấu +, chương trình nối hai chuỗi lại thành "56".
13. Gợi ý cách học tiếp
Sau khi hiểu biến, kiểu dữ liệu và phép gán, người mới nên học tiếp theo thứ tự này:
- Câu lệnh điều kiện:
if,else - Vòng lặp:
for,while - Hàm: gom một nhóm lệnh thành một hành động có tên
- Danh sách: lưu nhiều giá trị cùng lúc
- Debug: đọc lỗi và sửa lỗi
Không nên học quá nhiều khái niệm cùng lúc. Với người chưa biết lập trình, điều quan trọng nhất là viết được vài dòng code nhỏ, chạy thử, nhìn kết quả, rồi sửa từng lỗi một.
Nguồn tham khảo
- Python Docs — The Python Tutorial: https://docs.python.org/3/tutorial/index.html
- Python Docs — Assignment statements: https://docs.python.org/3/reference/simple_stmts.html
- Python Docs — Built-in Types: https://docs.python.org/3/library/stdtypes.html
- MDN Web Docs — JavaScript Grammar and Types: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types
- MDN Web Docs — JavaScript Data Types and Data Structures: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Data_structures
- Harvard CS50 Python course overview: https://pll.harvard.edu/course/cs50s-introduction-programming-python
- Stanford CS Education Library — Python Variables and Assignment: https://cs.stanford.edu/people/nick/py/python-var.html
Được biên soạn bởi PixelRouter Editorial Team
Chúng tôi cung cấp các bài viết chuyên sâu và chính xác về hạ tầng AI, bảo mật API, quản lý tài chính đám mây và tối ưu hóa hệ thống cho nhà phát triển.
Câu hỏi thường gặp
Biến trong lập trình là gì?
Biến là một cái tên dùng để ghi nhớ một giá trị. Ví dụ, trong Python, `age = 18` nghĩa là gán giá trị 18 cho tên biến `age`.
Kiểu dữ liệu là gì?
Kiểu dữ liệu cho biết giá trị thuộc loại nào, chẳng hạn số nguyên, số thực, chuỗi văn bản, Boolean đúng/sai hoặc danh sách.
Dấu `=` trong lập trình có nghĩa là gì?
Trong nhiều ngôn ngữ lập trình, dấu `=` thường có nghĩa là phép gán: đưa một giá trị vào một tên biến. Vì vậy `age = age + 1` nghĩa là lấy giá trị hiện tại của `age`, cộng thêm 1, rồi gán kết quả mới lại cho `age`.
Vì sao cần phân biệt số và chuỗi?
Vì máy tính xử lý hai kiểu dữ liệu này khác nhau. Ví dụ `10 + 20` cho kết quả `30`, nhưng `"10" + "20"` có thể cho kết quả `"1020"` vì hai giá trị trong ngoặc kép là chuỗi văn bản.
Người mới học lập trình thường mắc lỗi gì khi dùng biến?
Một số lỗi thường gặp là quên dấu ngoặc kép khi viết chữ, nhầm số với chuỗi, dùng biến trước khi gán giá trị, và đặt tên biến quá khó hiểu.
📂Bài liên quan
Hướng dẫn lập trình
Big-O trong lập trình: học bằng cách nhìn số lần chương trình phải làm việc
Bài giảng dễ hiểu về Big-O và độ phức tạp thuật toán, giúp bạn đọc code đơn giản, nhận biết O(1), O(log n), O(n), O(n log n), O(n²) và tư duy tối ưu thời gian, bộ nhớ.
Hướng dẫn lập trình
JavaScript Event Loop chuyên sâu: Microtask, Macrotask và async/await
Tìm hiểu cách JavaScript Event Loop điều phối code đồng bộ, Promise, queueMicrotask(), setTimeout(), async/await, process.nextTick() và setImmediate() trong trình duyệt và Node.js.