Cách viết mã Python tốt hơn

Dưới đây là 11 mẹo và thủ thuật sẽ giúp bạn viết mã Python tốt hơn và trở thành một lập trình viên giỏi hơn

1. Lặp lại với liệt kê thay vì hoặc
for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
8

Trong Python, chúng ta thường sử dụng vòng lặp

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
9 để lặp lại một đối tượng có thể lặp lại. Vòng lặp
for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
9 trong Python sử dụng phép lặp dựa trên bộ sưu tập i. e. Python gán mục tiếp theo từ một biến có thể lặp lại cho biến vòng lặp trên mỗi lần lặp. Trường hợp sử dụng thông thường của vòng lặp ________ 09 như sau

values = ["a", "b", "c"]

for value in values:
  print[value]

# a
# b
# c

Bây giờ, nếu ngoài giá trị, bạn muốn in cả chỉ mục, bạn có thể làm như thế này

index = 0

for value in values:
  print[index, value]
  index += 1

# 0 a
# 1 b
# 2 c

hoặc một cách phổ biến khác để làm điều này là sử dụng

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
8

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c

Tuy nhiên, có một cách Pythonic dễ dàng hơn và nhiều hơn để lặp lại các đối tượng có thể lặp lại bằng cách sử dụng

for count, value in enumerate[values]:
  print[count, value]

# 0 a
# 1 b
# 2 c
3. Nó được sử dụng trong vòng lặp
for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
9 gần giống như cách bạn sử dụng cách thông thường, nhưng thay vì đặt đối tượng có thể lặp trực tiếp sau
for count, value in enumerate[values]:
  print[count, value]

# 0 a
# 1 b
# 2 c
5 trong vòng lặp
for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
9 hoặc đặt sử dụng nó dưới dạng
for count, value in enumerate[values]:
  print[count, value]

# 0 a
# 1 b
# 2 c
7 , bạn đặt nó bên trong dấu ngoặc đơn của
for count, value in enumerate[values]:
  print[count, value]

# 0 a
# 1 b
# 2 c
3 như hình minh họa

________số 8

Chúng ta cũng có thể định nghĩa một đối số

for count, value in enumerate[values]:
  print[count, value]

# 0 a
# 1 b
# 2 c
9 cho
for count, value in enumerate[values]:
  print[count, value]

# 0 a
# 1 b
# 2 c
3 như hình bên dưới

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
7

Hàm

for count, value in enumerate[values]:
  print[count, value]

# 0 a
# 1 b
# 2 c
3 trả về hai biến

  • số lần lặp lại hiện tại
  • giá trị của mục tại lần lặp hiện tại

Cũng giống như các biến vòng lặp trong vòng lặp

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
9, các biến vòng lặp có thể được đặt tên bất kỳ, ví dụ, chúng ta có thể gọi sau đó là
for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
73 và
for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
74 và chúng vẫn hoạt động.
for count, value in enumerate[values]:
  print[count, value]

# 0 a
# 1 b
# 2 c
3 hiệu quả hơn vòng lặp
for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
9 vì nó giúp bạn không phải nhớ truy cập giá trị bên trong vòng lặp và sử dụng nó một cách chính xác, đồng thời nhớ tăng giá trị của biến vòng lặp, tất cả đều được xử lý tự động bởi Python

2. Sử dụng khả năng hiểu danh sách thay vì các vòng lặp thô

Hiểu danh sách là một cách dễ dàng và thanh lịch hơn để xác định danh sách tạo dựa trên danh sách hiện có. Chúng chỉ là một dòng mã bao gồm các dấu ngoặc chứa biểu thức được thực hiện lặp lại ở mỗi lần lặp. Do đó, chúng tiết kiệm thời gian và không gian hơn so với các vòng lặp và chuyển đổi các câu lệnh lặp trong một dòng mã

Cú pháp thông thường của việc hiểu danh sách trông như thế này

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
4

Đây là một ví dụ về hiểu danh sách trong mã

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
5

3. Sắp xếp các lần lặp phức tạp với
for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
77

Hàm

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
77 của Python sắp xếp các phần tử của một đối tượng có thể lặp lại theo một thứ tự cụ thể [tăng dần hoặc giảm dần] và trả về chúng dưới dạng danh sách được sắp xếp. Nó có thể được dùng để sắp xếp một chuỗi [chuỗi, bộ, danh sách] hoặc bộ sưu tập [bộ, từ điển, bộ cố định] hoặc bất kỳ trình vòng lặp nào khác

Cú pháp của hàm

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
77 như sau

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
9

Hàm

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
77 nhận tối đa ba tham số

  • lặp đi lặp lại. Nó có thể là bất kỳ iterator nào
  • Chìa khóa. Đó là một đối số tùy chọn đóng vai trò là chìa khóa để so sánh sắp xếp
  • đảo ngược. Nó cũng là một đối số tùy chọn được sử dụng để chỉ định danh sách được sắp xếp đảo ngược làm đầu ra

4. Lưu trữ các giá trị duy nhất với Sets

Bộ Python lưu trữ một bản sao duy nhất của các giá trị trùng lặp vào đó. Do đó, nó có thể được sử dụng để kiểm tra các giá trị duy nhất trong danh sách. Ví dụ

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
1

Vì vậy, đầu ra của chương trình trên sẽ như thế này

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
2

5. Tiết kiệm bộ nhớ với Máy phát điện

Chức năng cơ bản của bộ tạo là đánh giá các phần tử theo yêu cầu. Nó rất giống với cú pháp để hiểu danh sách, trong đó thay vì dấu ngoặc vuông, chúng tôi sử dụng dấu ngoặc đơn

Hãy xem xét một ví dụ mà chúng ta muốn in bình phương của tất cả các số chẵn trong một danh sách

index = 0

for value in values:
  print[index, value]
  index += 1

# 0 a
# 1 b
# 2 c
0

Đầu ra của đoạn mã trên sẽ như thế này

index = 0

for value in values:
  print[index, value]
  index += 1

# 0 a
# 1 b
# 2 c
1

Đã nói rằng cú pháp của chúng khá giống với cách hiểu danh sách, chắc hẳn bạn đang tự hỏi nó khác với cách hiểu danh sách hay thiết lập như thế nào. Không giống như hiểu danh sách hoặc thiết lập, hiểu trình tạo không khởi tạo bất kỳ đối tượng nào. Do đó, bạn có thể sử dụng khả năng hiểu trình tạo thay vì liệt kê hoặc thiết lập khả năng hiểu để giảm yêu cầu bộ nhớ của chương trình

6. Xác định các giá trị mặc định trong Từ điển với
for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
41 và
for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
42

Phương thức

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
42 cho phép đặt
for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
44 nếu khóa chưa có trong dict

Cú pháp của

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
42 trông giống như sau

index = 0

for value in values:
  print[index, value]
  index += 1

# 0 a
# 1 b
# 2 c
2

Đây là một đoạn mã ví dụ để hiểu cách sử dụng

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
42

index = 0

for value in values:
  print[index, value]
  index += 1

# 0 a
# 1 b
# 2 c
3

Đầu ra của đoạn mã trên sẽ giống như

index = 0

for value in values:
  print[index, value]
  index += 1

# 0 a
# 1 b
# 2 c
4

Điều tương tự cũng có thể đạt được bằng cách sử dụng phương pháp

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
41 bằng cách chuyển một giá trị mặc định cho khóa, như bạn có thể thấy bên dưới

index = 0

for value in values:
  print[index, value]
  index += 1

# 0 a
# 1 b
# 2 c
5

Đầu ra của đoạn mã trên sẽ giống như sau

index = 0

for value in values:
  print[index, value]
  index += 1

# 0 a
# 1 b
# 2 c
6

7. Đếm các đối tượng có thể băm với
for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
48

Mô-đun Bộ sưu tập hỗ trợ các kiểu dữ liệu vùng chứa hiệu suất cao [ngoài danh sách các loại tích hợp sẵn, dict và tuple] và chứa nhiều cấu trúc dữ liệu hữu ích để lưu trữ thông tin trong bộ nhớ

Bộ đếm là một bộ chứa theo dõi số lần các giá trị bằng nhau được thêm vào

Nó có thể được sử dụng để triển khai các thuật toán tương tự mà các ngôn ngữ khác sử dụng cấu trúc dữ liệu túi hoặc nhiều bộ để triển khai

Nhập bộ sưu tập làm cho nội dung trong bộ sưu tập có sẵn dưới dạng

index = 0

for value in values:
  print[index, value]
  index += 1

# 0 a
# 1 b
# 2 c
7

Vì chúng tôi sẽ chỉ sử dụng Bộ đếm, chúng tôi có thể làm điều này một cách đơn giản

index = 0

for value in values:
  print[index, value]
  index += 1

# 0 a
# 1 b
# 2 c
8

Nó có thể được sử dụng như sau

index = 0

for value in values:
  print[index, value]
  index += 1

# 0 a
# 1 b
# 2 c
9

Đầu ra của đoạn mã trên sẽ như thế này

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
0

8. Định dạng chuỗi với f-Strings [Python 3. 6+]

chuỗi f, còn được gọi là "chuỗi ký tự được định dạng", là một cách mới và mang tính Pythonic hơn để định dạng chuỗi, được hỗ trợ bởi Python 3. 6+. Chúng là cách định dạng chuỗi nhanh hơn, dễ đọc hơn, ngắn gọn hơn và ít bị lỗi hơn trong Python

Đúng như tên gọi “chuỗi f”, chúng là các chuỗi ký tự có chữ f ở đầu và dấu ngoặc nhọn chứa các biểu thức sẽ được thay thế bằng các giá trị của chúng trong thời gian chạy, sau đó được định dạng bằng giao thức 

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
49 

chuỗi f có thể được sử dụng như sau

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
1

9. Nối các chuỗi với
for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
50

Trong Python, chúng ta có thể sử dụng phương thức

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
50 để nối một danh sách các chuỗi thành một chuỗi duy nhất. Cú pháp thông thường cho phương pháp này trông giống như dưới đây

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
2

Nó có thể được sử dụng theo nhiều cách -- nếu bạn sử dụng chuỗi rỗng

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
52, [Danh sách các chuỗi] chỉ được nối với nhau và nếu bạn sử dụng dấu phẩy, thì một chuỗi được phân cách bằng dấu phẩy sẽ được tạo. Khi ký tự xuống dòng
for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
53 được sử dụng, một dòng mới được thêm vào sau mỗi chuỗi. Xem ví dụ bên dưới

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
3

10. Hợp nhất từ ​​điển với
for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
54 [Python 3. 5+]

Cách dễ nhất để hợp nhất các từ điển là sử dụng toán tử giải nén [

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
55]. Cú pháp cho phương pháp này trông như thế này

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
4

Đây là một ví dụ để hiểu rõ hơn về phương pháp này

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
5

11. Đơn giản hóa câu lệnh if với
for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
56

Giả sử chúng ta có một danh sách với các màu cơ bản là đỏ, lục và lam. Và ở đâu đó trong mã của chúng tôi, chúng tôi có một biến mới có màu, vì vậy c = đỏ. Sau đó, chúng ta sẽ xem liệu đây có phải là một trong những màu cơ bản của chúng ta không. Tất nhiên, chúng tôi có thể kiểm tra điều này đối với từng mục trong danh sách của chúng tôi như sau

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
6

Tuy nhiên, điều này có thể trở nên khá tốn thời gian và chúng ta có thể dễ dàng mắc lỗi, chẳng hạn như nếu chúng ta mắc lỗi đánh máy ở đây đối với màu đỏ. Sẽ đơn giản hơn và tốt hơn nhiều nếu chỉ sử dụng biểu thức nếu x trong danh sách

for index in range[len[values]]:
  value = values[index]
  print[index, value]

# 0 a
# 1 b
# 2 c
7

Sự kết luận

Python là ngôn ngữ lập trình được sử dụng rộng rãi và bằng cách sử dụng các mẹo và thủ thuật ở trên, bạn có thể trở thành một lập trình viên Python giỏi hơn

Chủ Đề