Trong lập trình, biến (variable) giống như chiếc hộp để bạn lưu trữ thông tin và sử dụng lại ở nhiều nơi trong chương trình. Ở mỗi ngôn ngữ khác nhau, biến sẽ có cách định nghĩa và đặc điểm riêng. Python – một ngôn ngữ nổi tiếng bởi sự đơn giản và linh hoạt – lại càng làm cho việc khai báo, gán và sử dụng biến trở nên dễ dàng.
Bài viết này sẽ giúp bạn nắm rõ: biến trong Python là gì, cách khai báo và sử dụng, các quy tắc đặt tên, kiểu dữ liệu liên quan, đồng thời phân tích điểm mạnh – điểm cần lưu ý để học hiệu quả hơn.
1. Khái niệm biến trong Python
- Biến là tên gọi gắn với một vùng nhớ, nơi lưu trữ dữ liệu trong quá trình chương trình chạy.
- Khi bạn gán một giá trị cho biến, Python tự động tạo biến đó, không cần khai báo kiểu dữ liệu trước.
- Kiểu dữ liệu được suy ra từ giá trị gán, điều này giúp Python trở thành ngôn ngữ dynamically typed (kiểu dữ liệu động).
- Mỗi biến trong Python là một tên đại diện cho một vị trí bộ nhớ. Khi bạn gán một giá trị cho một biến, Python sẽ lưu trữ giá trị đó tại một địa chỉ bộ nhớ cụ thể và liên kết tên biến với địa chỉ đó.
x = 9
print(id(x)) #trả về địa chỉ bộ nhớ nội bộ (memory address)
2. Cách khai báo và gán biến
Python không cần từ khóa đặc biệt, chỉ cần dùng cú pháp:
tên_biến = giá_trị
Một số cách gán biến phổ biến:
- Gán một biến:
age = 25
- Gán nhiều biến trong một dòng:
a, b, c = 1, 2, 3
- Gán nhiều biến cùng giá trị:
x = y = z = 0
Lưu ý: giá trị gán lại có thể khác kiểu so với trước đó.
x = 9
x = "Python" # bây giờ x là string
3. Các loại biến trong Python
Trong Python, biến được chia thành một số loại chính:
- Biến toàn cục (Global variable): khai báo bên ngoài mọi hàm, có thể truy cập ở bất kỳ đâu trong chương trình.
x = 10 # biến toàn cục
def show():
print(x)
show() # In ra 10
- Biến cục bộ (Local variable): khai báo trong hàm, chỉ tồn tại trong hàm đó.
def greet():
msg = "Hello" # biến cục bộ
print(msg)
greet()
# print(msg) # lỗi, vì msg chỉ tồn tại trong hàm
- Biến phi cục bộ (Nonlocal variable): dùng trong hàm lồng nhau, cho phép thay đổi biến ở hàm cha.
def outer():
x = "outer"
def inner():
nonlocal x
x = "inner"
inner()
print(x) # In ra "inner"
outer()
Ngoài ra còn có một số biến đặc biệt:
_
dùng khi không quan tâm đến giá trị (ví dụ trong vòng lặp).__name__
giúp Python xác định file đang chạy trực tiếp hay được import làm module.
4. Quy tắc đặt tên biến
Để tránh lỗi và viết code dễ hiểu, cần tuân theo quy tắc:
- Tên biến bắt đầu bằng chữ cái hoặc dấu gạch dưới (_), không bắt đầu bằng số.
- Chỉ chứa chữ cái, chữ số, dấu gạch dưới.
- Phân biệt chữ hoa – chữ thường (
Age
vàage
là hai biến khác nhau). - Không được trùng với từ khóa (keywords) của Python, ví dụ:
for
,while
,class
,def
, …
✅ Ví dụ hợp lệ:
name
,user_age
,_count
❌ Ví dụ không hợp lệ:
1user
,my-name
,for
5. Kiểu dữ liệu gắn với biến
Mỗi biến có một kiểu dữ liệu, được suy ra từ giá trị:
- Số:
int
,float
,complex
- Chuỗi:
str
- Boolean:
True
,False
- Cấu trúc dữ liệu:
list
,tuple
,set
,dict
Đặc điểm quan trọng:
- Một số kiểu dữ liệu immutable (không thay đổi được):
int
,float
,string
,tuple
. - Một số kiểu mutable (có thể thay đổi):
list
,dict
,set
.
Ví dụ:
fruits = ["apple", "banana"]
fruits[0] = "orange" # list có thể thay đổi
5. Xóa biến
Python cho phép xóa biến bằng lệnh del
:
x = 100
del x
print(x) # Lỗi: x không tồn tại
6. Ép kiểu cho biến
Nếu bạn muốn chỉ định kiểu dữ liệu của một biến, bạn có thể sử dụng ép kiểu.
x = str(9) # x sẽ là '9'
y = int(9) # y sẽ là 9
z = float(9) # z sẽ là 9.0
print(x)
print(y)
print(z)
7. Lấy kiểu của biến
Bạn có thể sử dụng hàm type()
để lấy kiểu của biến.
x = 9
y = "KienThucMo"
print(type(x))
print(type(y))
#kết quả
<class 'int'>
<class 'str'>
8. Hằng số trong Python
Python không có hằng số được định nghĩa chính thức, tuy nhiên bạn có thể sử dụng quy ước đặt tên bằng chữ in hoa để biểu thị rằng một biến là hằng số và không nên thay đổi giá trị của nó.
PI = 3.14159
GRAVITY = 9.8
9. Sai sót thường gặp
- Dùng biến chưa gán giá trị:
print(y) # lỗi NameError
- Gán biến trùng từ khóa:
def = 10 # lỗi SyntaxError
- Thực hiện phép toán giữa các kiểu không tương thích:
result = "age: " + 25 # lỗi TypeError
Kết luận
Biến trong Python là nền tảng cơ bản nhưng vô cùng quan trọng. Bạn cần nắm rõ:
- Cách khai báo và gán biến.
- Quy tắc đặt tên chuẩn mực.
- Sự khác biệt giữa các kiểu dữ liệu (mutable vs immutable).
- Các lỗi thường gặp và cách tránh.
Việc hiểu đúng và sử dụng biến hợp lý sẽ giúp bạn lập trình Python mạch lạc, tránh được nhiều bug không đáng có.
Tài liệu tham khảo
- Python Software Foundation. (2024). The Python Tutorial: Using Python as a Calculator. Retrieved from https://docs.python.org/3/tutorial/introduction.html#using-python-as-a-calculator
- W3Schools. (2024). Python Variables. Retrieved from https://www.w3schools.com/python/python_variables.asp
- Real Python. (2024). Python Scope & the LEGB Rule: Resolving Names in Your Code. Retrieved from https://realpython.com/python-scope-legb-rule/
- GeeksforGeeks. (2024). Python Variables. Retrieved from https://www.geeksforgeeks.org/python-variables/