Python Tips – Cơ bản nhưng cực hữu ích
- Home
- Python Tips – Cơ bản nhưng cực hữu ích
Python nổi tiếng là ngôn ngữ lập trình có cú pháp thân thiện, dễ đọc và gần với ngôn ngữ tự nhiên. Tuy nhiên, để viết code không chỉ chạy được mà còn Pythonic (đúng chất Python, gọn gàng và tối ưu), việc nắm vững các mẹo nhỏ dưới đây sẽ giúp bạn tiết kiệm rất nhiều thời gian.
Cùng DCSoftTech điểm qua các Python tips cơ bản nhưng cực kỳ hữu ích mà mọi lập trình viên từ mới bắt đầu đến lâu năm đều nên bỏ túi.
Trong nhiều ngôn ngữ khác, để đổi giá trị của hai biến, bạn cần một biến trung gian (temp). Với Python, bạn có thể làm điều này chỉ trong một dòng code cực kỳ thanh lịch nhờ cơ chế tuple unpacking:
Python
x = 10
y = 20
# Hoán đổi giá trị
x, y = y, x
print(f"x = {x}, y = {y}") # Kết quả: x = 20, y = 10
enumerate() thay vì range(len())Khi cần duyệt qua một danh sách (list) và lấy cả chỉ mục (index) lẫn giá trị của phần tử, thói quen cũ của nhiều lập trình viên là dùng range(len()). Python cung cấp hàm enumerate() giúp code sạch sẽ và chuyên nghiệp hơn hẳn:
languages = ["Python", "JavaScript", "C++", "Go"]
# Cách cũ (không Pythonic)
for i in range(len(languages)):
print(i, languages[i])
# Cách Pythonic với enumerate()
for index, lang in enumerate(languages):
print(index, lang)
List Comprehensions là một trong những đặc điểm mạnh mẽ nhất của Python, cho phép bạn khởi tạo một danh sách mới từ một danh sách cũ chỉ trong một dòng lệnh duy nhất, thay vì dùng vòng lặp for và hàm .append() dài dòng.
# Lọc ra các số chẵn từ 1 đến 10
# Cách thông thường:
evens = []
for i in range(1, 11):
if i % 2 == 0:
evens.append(i)
# Dùng List Comprehension:
evens = [i for i in range(1, 11) if i % 2 == 0]
print(evens) # [2, 4, 6, 8, 10]
Từ phiên bản Python 3.6 trở đi, f-strings ra đời và gần như thay thế hoàn toàn các cách định dạng chuỗi cũ như % hay .format(). Nó cho phép bạn nhúng trực tiếp biểu thức hoặc biến vào trong chuỗi một cách trực quan:
name = "DC SoftTech"
founded = 2020
age = 2026 - founded
# Sử dụng f-string
intro = f"Chào mừng bạn đến với {name}, thành lập năm {founded} (hoạt động được {age} năm)."
print(intro)
zip()Khi bạn cần lặp qua 2 hoặc nhiều danh sách cùng lúc, hàm zip() sẽ ghép các phần tử tương ứng lại thành các tuple giúp bạn xử lý dễ dàng:
names = ["An", "Bình", "Châu"]
scores = [85, 92, 78]
for name, score in zip(names, scores):
print(f"Học sinh {name đạt điểm {score}")
.get()Khi truy cập một key không có sẵn trong dictionary bằng cú pháp ngoặc vuông dict[key], Python sẽ bắn ra lỗi KeyError và làm chương trình dừng đột ngột. Thay vào đó, hãy dùng phương thức .get() kèm theo một giá trị mặc định:
user = {"name": "Alex", "role": "Developer"}
# Lấy giá trị an toàn, nếu không có trả về "Guest"
role = user.get("role", "Guest")
salary = user.get("salary", "Thỏa thuận")
print(role) # Developer
print(salary) # Thỏa thuận
withKhi làm việc với file (đọc/ghi), việc quên đóng file (file.close()) có thể gây rò rỉ tài nguyên hệ thống. Câu lệnh with (Context Manager) sẽ tự động dọn dẹp và đóng file ngay cả khi xảy ra ngoại lệ trong khối code:
# Cách an toàn và chuẩn xác
with open("data.txt", "w", encoding="utf-8") as f:
f.write("Xin chào từ DC SoftTech!")
# File tự động được đóng an toàn khi thoát khỏi khối with
Những mẹo nhỏ trên tuy rất cơ bản nhưng lại là nền tảng để xây dựng những dòng code Python hiệu quả, dễ đọc và dễ bảo trì. Hãy áp dụng ngay vào dự án tiếp theo của bạn để thấy sự khác biệt!
Đừng quên theo dõi DC SoftTech để cập nhật thêm nhiều bài viết chia sẻ kiến thức công nghệ hữu ích mỗi ngày.