0

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

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí