0
0
Lập trình
Sơn Tùng Lê
Sơn Tùng Lê103931498422911686980

11 Mẹo Python Cần Biết Để Nâng Cao Kỹ Năng Lập Trình

Đăng vào 2 ngày trước

• 4 phút đọc

Giới thiệu

Trở thành một lập trình viên Python chuyên nghiệp không chỉ là viết mã hoạt động - mà còn là viết mã sạch, hiệu quả và mang phong cách Python. Bài viết này sẽ cung cấp cho bạn 11 mẹo Python thiết yếu giúp bạn nâng cao kỹ năng lập trình của mình.

1. Sử dụng enumerate để Lấy Chỉ Số và Giá Trị

Khi lặp qua một danh sách, nhiều lập trình viên vẫn dựa vào range(len(data)). Điều này hoạt động nhưng không thực sự mang phong cách Python.

Ví dụ (không được khuyến nghị):

python Copy
 data = [1, 2, -3, -4]  
 for i in range(len(data)):  
     if data[i] < 0:  
         data[i] = 0

Kết quả sẽ là:

python Copy
 # data trở thành [1, 2, 0, 0]

Một cách tốt hơn là sử dụng enumerate, điều này giúp bạn có cả chỉ số và giá trị ngay lập tức:

python Copy
 data = [1, 2, -3, -4]  
 for idx, num in enumerate(data):  
     if num < 0:  
         data[idx] = 0

Kết quả sẽ là:

python Copy
 # data trở thành [1, 2, 0, 0]

2. Hiểu Về Gán: Alias và Bản Sao

Trong Python, việc gán một biến không sao chép đối tượng - nó tạo ra một alias.

python Copy
 a = [1, 2, 3, 4, 5]  
 b = a  
 b[4] = 7

print(a) # [1, 2, 3, 4, 7]

Cả ab đều trỏ đến cùng một đối tượng. Nếu bạn muốn tạo một bản sao:

python Copy
 b = a.copy()  # hoặc b = a[:]  
 b[4] = 7

print(a) # [1, 2, 3, 4, 5]  
 print(b) # [1, 2, 3, 4, 7]

3. Sử Dụng F-strings Để Định Dạng Chuỗi

Kể từ Python 3.6, f-strings là cách đọc nhất và hiệu quả nhất:

python Copy
 first_name = "Lily"  
 age = 18  
 print(f"Chào, tôi là {first_name} và tôi {age} tuổi!")

4. Sử Dụng Generators Để Tiết Kiệm Bộ Nhớ

List comprehensions tải tất cả vào bộ nhớ, trong khi generators tạo ra giá trị theo yêu cầu.

python Copy
 import sys

 my_list = [i for i in range(10000)]  
 print(sys.getsizeof(my_list))

 my_gen = (i for i in range(10000))  
 print(sys.getsizeof(my_gen))

Generators tiết kiệm bộ nhớ, nhưng chỉ có thể được tiêu thụ một lần.

5. Truy Cập Từ Điển An Toàn Với .get()

Truy cập trực tiếp có nguy cơ gây ra KeyError:

python Copy
 my_dict = {'item': 'bóng đá', 'price': 10.00}  
 count = my_dict.get('count', 0)  
 print(count) # 0

6. Sử Dụng zip Để Lặp Song Song

python Copy
 names = ['Amy', 'Ben', 'Clara']  
 scores = [85, 80, 95]

 for name, score in zip(names, scores):  
     print(f"{name}: {score}")

7. List Comprehensions Để Vòng Lặp Ngắn Gọn

Lọc và biến đổi trong một dòng:

python Copy
 numbers = [1, 2, 3, 4, 5, 6, 7, 8]  
 evens = [num for num in numbers if num % 2 == 0]

 processed = [num * 2 if num % 2 == 0 else num for num in numbers]

8. Đơn Giản Hóa Đếm Với defaultdict

python Copy
 from collections import defaultdict

 words = ['táo', 'chuối', 'táo', 'cam']  
 word_count = defaultdict(int)  
 for word in words:  
     word_count[word] += 1

9. Xóa các Phần Tử Trùng Lặp Từ Danh Sách

Sử dụng set để đảm bảo tính duy nhất:

python Copy
 a = [1, 1, 2, 3, 4, 5, 5]  
 unique = list(set(a))

Hoặc duy trì thứ tự:

python Copy
 ordered_unique = list(dict.fromkeys(a))

10. Nối Chuỗi Một Cách Hiệu Quả

python Copy
 list_of_strings = ["Xin chào", "bạn", "hữu"]  
 my_string = " ".join(list_of_strings)  
 print(my_string)

11. Đảo Ngược Một Từ Điển Trong Một Dòng

python Copy
 dict1 = {'a': 1, 'b': 2, 'c': 3}  
 dict2 = {v: k for k, v in dict1.items()}

print(dict2) # {1: 'a', 2: 'b', 3: 'c'}

Những Lưu Ý Cuối Cùng: Công Cụ Cũng Quan Trọng

Những mẹo Python này có thể giúp mã của bạn trở nên sạch hơn và mang phong cách Python. Tuy nhiên, năng suất không chỉ là về các mẹo lập trình - mà còn là có những công cụ phù hợp.

Quản lý nhiều phiên bản Python trên các dự án khác nhau có thể rất khó khăn. Đó là lúc ServBay phát huy tác dụng. Nó cho phép bạn cài đặt Python chỉ với một cú nhấp chuột và chuyển đổi giữa các phiên bản dễ dàng. Rất phù hợp cho việc làm việc với các phụ thuộc cũ hoặc thử nghiệm các tính năng mới.

Một công cụ tốt có thể tiết kiệm cho bạn hàng giờ và giúp bạn tập trung vào việc viết mã tốt hơn. 🚀

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào