7 Thủ Thuật Python Giúp Bạn Viết Code Ngắn Gọn Và Chuyên Nghiệp Hơn
Giới thiệu
Python nổi tiếng nhờ cú pháp đơn giản và khả năng giúp lập trình viên giải quyết vấn đề nhanh chóng. Tuy nhiên, nhiều người chỉ sử dụng những tính năng cơ bản mà bỏ lỡ các thủ thuật hữu ích có thể giúp mã nguồn ngắn gọn, dễ đọc và hiệu quả hơn.
Trong bài viết này, chúng ta sẽ cùng khám phá 7 thủ thuật Python được sử dụng khá phổ biến trong các dự án thực tế.
1. Sử dụng List Comprehension thay cho vòng lặp
Người mới học Python thường viết:
numbers = [1, 2, 3, 4, 5]
squared = []
for n in numbers:
squared.append(n * n)
Python cho phép viết ngắn gọn hơn:
numbers = [1, 2, 3, 4, 5]
squared = [n * n for n in numbers]
Kết quả:
[1, 4, 9, 16, 25]
Lợi ích:
- Ít dòng code hơn
- Dễ đọc hơn
- Thường chạy nhanh hơn vòng lặp thông thường
2. Hoán đổi giá trị biến mà không cần biến tạm
Trong nhiều ngôn ngữ:
temp = a
a = b
b = temp
Trong Python:
a, b = b, a
Ví dụ:
a = 10
b = 20
a, b = b, a
Kết quả:
a = 20
b = 10
Đây là một trong những cú pháp "đặc sản" của Python.
3. Dùng enumerate() thay vì tự quản lý index
Nhiều lập trình viên viết:
index = 0
for user in users:
print(index, user)
index += 1
Python cung cấp hàm enumerate():
for index, user in enumerate(users):
print(index, user)
Thậm chí có thể bắt đầu từ số khác:
for index, user in enumerate(users, start=1):
print(index, user)
Code ngắn hơn và tránh lỗi tăng index thủ công.
4. Dùng zip() để duyệt nhiều danh sách cùng lúc
Ví dụ:
names = ["An", "Bình", "Cường"]
scores = [90, 85, 95]
Không cần:
for i in range(len(names)):
print(names[i], scores[i])
Có thể viết:
for name, score in zip(names, scores):
print(name, score)
Kết quả:
An 90
Bình 85
Cường 95
Cách này vừa ngắn gọn vừa dễ bảo trì.
5. Sử dụng Dictionary.get()
Giả sử:
user = {
"name": "An"
}
Nhiều người viết:
if "age" in user:
age = user["age"]
else:
age = 0
Python hỗ trợ:
age = user.get("age", 0)
Nếu key tồn tại:
age = user["age"]
Nếu không tồn tại:
age = 0
Giúp tránh lỗi:
KeyError
và làm code gọn hơn đáng kể.
6. Dùng set để loại bỏ phần tử trùng lặp
Ví dụ:
numbers = [1, 2, 2, 3, 3, 4]
Loại bỏ phần tử trùng:
unique_numbers = list(set(numbers))
Kết quả:
[1, 2, 3, 4]
Thủ thuật này đặc biệt hữu ích khi xử lý dữ liệu lớn hoặc làm sạch dữ liệu trước khi phân tích.
7. Sử dụng unpacking
Giả sử:
numbers = [10, 20, 30]
Thông thường:
a = numbers[0]
b = numbers[1]
c = numbers[2]
Python cho phép:
a, b, c = numbers
Hoặc:
first, *middle, last = [1, 2, 3, 4, 5]
Kết quả:
first = 1
middle = [2, 3, 4]
last = 5
Đây là kỹ thuật thường xuất hiện trong các codebase Python chuyên nghiệp.
Bonus: Kiểm tra điều kiện ngắn gọn
Thay vì:
if len(users) > 0:
Pythonic hơn:
if users:
Ngược lại:
if not users:
Python tự động đánh giá:
- List rỗng
- Dictionary rỗng
- String rỗng
- None
là giá trị False.
Điều này giúp code ngắn gọn và dễ đọc hơn.
Kết luận
Một trong những điểm mạnh nhất của Python là khả năng diễn đạt ý tưởng bằng ít mã nguồn hơn so với nhiều ngôn ngữ lập trình khác. Những kỹ thuật như List Comprehension, enumerate(), zip(), unpacking hay Dictionary.get() tuy đơn giản nhưng có thể giúp cải thiện đáng kể chất lượng mã nguồn hàng ngày.
Nếu bạn đang học Python hoặc chuẩn bị tham gia các dự án thực tế, hãy thử áp dụng những thủ thuật này vào code của mình. Việc viết code ngắn gọn không chỉ giúp tăng tốc độ phát triển mà còn giúp đồng đội dễ đọc và bảo trì hệ thống hơn trong tương lai.
All rights reserved