Cơ bảnKiến thức cơ bản

Biến trong Python là gì? Cách khai báo và sử dụng

8 phút đọc14 lượt xem
#biến python#kiểu dữ liệu python#python cơ bản#khai báo biến#python cho người mới

Biến trong Python là gì? Cách khai báo và sử dụng

Khi mới học Python, thứ đầu tiên bạn sẽ chạm vào chính là biến. Không có biến, bạn không thể lưu trữ dữ liệu — mà không có dữ liệu, chương trình sẽ không làm được gì cả. Nhưng đừng lo, biến trong Python cực kỳ dễ hiểu và dễ dùng.

Biến (Variable) là gì?

Hãy tưởng tượng biến như một hộp có nhãn — bạn đặt tên cho hộp, rồi bỏ dữ liệu vào trong. Ví dụ:

  • Ví = nơi đựng tiền
  • Tủ lạnh = nơi đựng thức ăn
  • Biến ten = nơi đựng tên người

Khi cần dùng lại dữ liệu đó ở bất kỳ đâu trong chương trình, bạn chỉ cần gọi tên biến — Python sẽ tự lấy giá trị ra cho bạn.

Cách khai báo biến trong Python

Python rất đơn giản — không cần khai báo kiểu dữ liệu như Java hay C:

# Khai báo biến — cú pháp: tên_biến = giá_trị
ten = "Nguyễn Văn Minh"    # str
tuoi = 22                   # int
diem = 8.5                  # float
la_sinh_vien = True         # bool

print(ten)    # Nguyễn Văn Minh
print(tuoi)   # 22

Quy tắc đặt tên biến

  • ✅ Chỉ dùng chữ cái, số, dấu gạch dưới
  • ✅ Không bắt đầu bằng số
  • ✅ Phân biệt chữ hoa/thường (tenTen là 2 biến khác nhau)
  • ❌ Không dùng từ khóa Python (if, for, while, def...)
  • ❌ Không có dấu cách, dấu gạch ngang

Chuẩn PEP 8 (Python style guide)

# ✅ Tốt — snake_case
ho_ten = "Trần Thị Lan"
diem_trung_binh = 8.5
so_lan_thu = 3

# ❌ Không khuyến nghị
HoTen = "..."        # PascalCase (dành cho class)
soLanThu = 3         # camelCase (dành cho JavaScript)

Các kiểu dữ liệu của biến Python

# int — Số nguyên
tuoi = 22
nam_sinh = 2004
so_am = -5

# float — Số thực
diem = 8.5
chieu_cao = 1.72
nhiet_do = 36.6

# str — Chuỗi ký tự
ten = "Nguyễn Văn Minh"
truong = 'Đại học Bách Khoa'
thong_diep = f"Tôi là {ten}, {tuoi} tuổi"  # f-string

# bool — Kiểu logic
la_sinh_vien = True
da_ket_hon = False

# None — Không có giá trị
ket_qua = None

Kiểm tra kiểu dữ liệu với type()

x = 42
print(type(x))        # <class 'int'>

y = "Xin chào"
print(type(y))        # <class 'str'>

z = 3.14
print(type(z))        # <class 'float'>

a = True
print(type(a))        # <class 'bool'>

Chuyển đổi kiểu dữ liệu

Đây là thao tác bạn sẽ gặp thường xuyên — đặc biệt khi nhận dữ liệu từ người dùng qua input(), vì input() luôn trả về chuỗi.

# str → int
tuoi_str = "22"
tuoi_int = int(tuoi_str)    # 22

# int → float
so_int = 10
so_float = float(so_int)    # 10.0

# Bất kỳ → str
diem = 8.5
diem_str = str(diem)        # "8.5"

# Lưu ý: Không phải lúc nào cũng chuyển được
int("xin chao")  # → ValueError!

Các phép toán với biến

a = 10
b = 3

print(a + b)    # 13 (cộng)
print(a - b)    # 7  (trừ)
print(a * b)    # 30 (nhân)
print(a / b)    # 3.333... (chia thực)
print(a // b)   # 3  (chia lấy phần nguyên)
print(a % b)    # 1  (chia lấy dư)
print(a ** b)   # 1000 (lũy thừa)

# Nối chuỗi
ho = "Nguyễn"
ten = "Minh"
ho_ten = ho + " Văn " + ten
print(f"Họ tên: {ho_ten}")  # Họ tên: Nguyễn Văn Minh

Biến toàn cục và biến cục bộ

diem_toi_da = 10.0    # Biến toàn cục (global)

def kiem_tra_diem(diem):
    bien_local = "tạm thời"    # Biến cục bộ (local)
    print(f"Điểm tối đa: {diem_toi_da}")    # Có thể đọc global

def cap_nhat_max(diem_moi):
    global diem_toi_da    # Cần khai báo global để sửa
    diem_toi_da = diem_moi

cap_nhat_max(9.5)
print(diem_toi_da)    # 9.5

Lỗi thường gặp với biến

# NameError — Dùng biến chưa khai báo
print(ten)    # NameError: name 'ten' is not defined
ten = "Minh"
print(ten)    # OK: Minh

# TypeError — Sai kiểu dữ liệu
tuoi = "22"    # str!
ket_qua = tuoi + 5    # TypeError!
ket_qua = int(tuoi) + 5    # OK: 27

Bài tập thực hành

# Bài 1: Chương trình tự giới thiệu
ten = input("Tên của bạn: ")
tuoi = int(input("Tuổi của bạn: "))
truong = input("Trường đang học: ")

print(f"\n=== Thông tin của bạn ===")
print(f"Tên: {ten}")
print(f"Tuổi: {tuoi}")
print(f"Trường: {truong}")
print(f"Năm sinh (ước tính): {2026 - tuoi}")
# Bài 2: Tính diện tích hình chữ nhật
chieu_dai = float(input("Chiều dài (m): "))
chieu_rong = float(input("Chiều rộng (m): "))

dien_tich = chieu_dai * chieu_rong
chu_vi = 2 * (chieu_dai + chieu_rong)

print(f"Diện tích: {dien_tich:.2f} m²")
print(f"Chu vi: {chu_vi:.2f} m")

Kết luận

Biến là viên gạch đầu tiên trong Python. Nắm chắc quy tắc đặt tên theo snake_case, hiểu 5 kiểu dữ liệu cơ bản và biết khi nào cần chuyển đổi kiểu — vậy là đủ để tiếp tục sang vòng lặp và hàm mà không bị vấp.

Về tác giả

Ảnh đại diện tác giả Kenji — họa tiết hình học

Kenji

Kỹ sư phần mềm full-stack (Web), hơn 5 năm kinh nghiệm thực tế

  • Python
  • DB
  • Hạ tầng
  • Đào tạo & cố vấn
  • AI

Làm việc cùng đồng nghiệp người Việt, tôi thấy thiếu tài liệu kỹ thuật rõ ràng bằng tiếng Việt. codeahoc là nơi tôi chia sẻ theo hướng thực tế, dễ áp dụng.

Nguyên tắc nội dung

  • Ưu tiên nguồn gốc và góc nhìn từ thực tế triển khai.
  • Nếu có sai sót, nội dung sẽ được cập nhật và sửa kịp thời.

Khóa học liên quan

100 Days of Code: The Complete Python Pro Bootcamp

Học Python qua 100 dự án thực tế. Phù hợp cho người mới bắt đầu.

4.7
Xem khóa học →

Python for Data Science and Machine Learning Bootcamp

Học Data Science với Python: pandas, matplotlib, scikit-learn.

4.6
Xem khóa học →

Automate the Boring Stuff with Python

Tự động hóa công việc lặp đi lặp lại bằng Python.

4.6
Xem khóa học →

*Đây là liên kết liên kết (affiliate link). Chúng tôi có thể nhận hoa hồng nếu bạn mua khóa học qua liên kết này.