Thực hành tốt nhất cho các câu lệnh điều kiện trong Python
Bài viết này giải thích các thực hành tốt nhất cho các câu lệnh điều kiện trong Python.
YouTube Video
Thực hành tốt nhất cho các câu lệnh điều kiện trong Python
Câu lệnh if trong Python là một cấu trúc cơ bản để triển khai phân nhánh điều kiện và có ảnh hưởng lớn đến khả năng đọc và bảo trì mã. Ở đây, chúng ta sẽ thảo luận chi tiết về các thực hành tốt nhất khi sử dụng câu lệnh if.
Sử dụng các biểu thức điều kiện rõ ràng
Hãy viết biểu thức điều kiện một cách ngắn gọn và rõ ràng, tránh lặp lại không cần thiết.
1condition = True
2
3### Bad Example
4if condition == True:
5 pass
6
7### Good Example
8if condition:
9 pass- Trong Python, bạn có thể chỉ ra rằng một điều kiện là đúng bằng cách viết
if condition:.
Kết hợp nhiều điều kiện
Khi kết hợp nhiều điều kiện, hãy sử dụng and hoặc or. Tuy nhiên, khi các biểu thức điều kiện trở nên phức tạp, khả năng đọc có thể giảm, vì vậy hãy cân nhắc các điều chỉnh sau:.
1age = 15
2is_student = True
3
4### Bad Example
5# Complex condition
6if (age > 18 and age < 65) or (is_student and age > 15):
7 pass
8
9### Good Example
10# Improving readability
11is_working_age = 18 < age < 65
12is_eligible_student = is_student and age > 15
13
14if is_working_age or is_eligible_student:
15 pass- Bằng cách tách các điều kiện và gán chúng vào các biến, khả năng đọc có thể được cải thiện.
Đánh giá ngắn mạch and/or
Trong các biểu thức điều kiện sử dụng and hoặc or, nếu kết quả có thể được xác định chỉ bằng giá trị bên trái, thì đánh giá ngắn mạch sẽ xảy ra và phần bên phải sẽ không được đánh giá. Hiểu điều này giúp bạn tránh xử lý không cần thiết và ngăn ngừa lỗi.
1user = None
2def expensive_check():
3 return True
4
5# Example of short-circuiting with 'and'
6if user and user.is_active:
7 # If user is None, user.is_active will NOT be evaluated
8 print("Active user found.")
9
10# Example of short-circuiting with 'or'
11if user.is_admin or expensive_check(user):
12 # If user.is_admin is True, expensive_check will NOT be called.
13 print("Access granted.")
14else:
15 print("Access denied.")- Bằng cách sử dụng đánh giá ngắn mạch, bạn có thể nâng cao hiệu suất và độ an toàn khi xử lý.
Thứ tự ưu tiên của and và or
and có độ ưu tiên cao hơn so với or. Do đó, khi kết hợp các điều kiện một cách đơn giản, bạn có thể nhận được kết quả không mong muốn. Việc sử dụng dấu ngoặc đơn rất quan trọng để làm rõ ý định của bạn.
1age = 15
2is_student = True
3
4### Unclear example
5# This is interpreted as: age > 18 and (age < 65 or is_student)
6if age > 18 and age < 65 or is_student:
7 pass
8
9### Clear example
10# Explicit parentheses make the intended logic obvious
11if (age > 18 and age < 65) or is_student:
12 pass- Bằng cách sử dụng dấu ngoặc đơn, bạn có thể xác định rõ thứ tự ưu tiên của
andvàor, giảm nguy cơ xuất hiện lỗi không mong muốn.
Hiểu về Truthy và Falsy
Trong Python, các giá trị sau sẽ được đánh giá là False:.
KhôngSai- Số
0(bao gồm cả0.0) - Kiểu chuỗi rỗng (như danh sách rỗng, tuple rỗng hoặc chuỗi rỗng)
- Ví dụ:
[],(),""
- Ví dụ:
- Từ điển rỗng
- Ví dụ:
{}
- Ví dụ:
Tận dụng điều này có thể giúp đơn giản hóa các biểu thức điều kiện của bạn.
1items = [1, 2, 3]
2
3### Bad Example
4if len(items) > 0:
5 pass
6
7### Good Example
8if items:
9 passSử dụng đúng cách elif và else
Khi đánh giá nhiều điều kiện, hãy sử dụng elif. Sử dụng else để xác định hành vi mặc định ở cuối.
1score = 80
2
3if score >= 90:
4 grade = "A"
5elif score >= 80:
6 grade = "B"
7elif score >= 70:
8 grade = "C"
9else:
10 grade = "F"elsekhông bắt buộc. Nếu tất cả điều kiện đã được bao quát, nó có thể được bỏ qua.- Hãy chú ý đến thứ tự của các biểu thức điều kiện và sắp xếp chúng một cách logic, tránh trùng lặp.
Hạn chế độ sâu của các cấu trúc lồng nhau.
Việc lồng quá nhiều câu lệnh if khiến mã trở nên khó đọc hơn.
1def access_resource():
2 return True
3
4### Bad Example
5def deep_nest(user, resource):
6 if user.is_authenticated:
7 if user.has_permission:
8 if resource.is_available:
9 access_resource()
10
11### Good Example
12def early_return(user, resource):
13 if not user.is_authenticated:
14 return
15 if not user.has_permission:
16 return
17 if not resource.is_available:
18 return
19
20 access_resource()- Sử dụng việc trả giá trị sớm có thể giảm số mức lồng và làm mã trở nên gọn gàng hơn.
Tránh sử dụng các câu lệnh if trên một dòng.
Việc viết câu lệnh if trên một dòng là có thể, nhưng điều này có thể làm giảm tính dễ đọc.
1condition = False
2def do_something():
3 return True
4
5### Bad Example
6if condition: do_something()
7
8### Good Example
9if condition:
10 do_something()- Chỉ nên sử dụng câu lệnh if một dòng cho điều kiện hoặc hành động ngắn, tránh viết mã quá dài dòng.
Đơn giản hóa bằng toán tử ba ngôi hoặc or
Với các nhánh điều kiện đơn giản, sử dụng toán tử ba ngôi hoặc or có thể làm cho mã của bạn ngắn gọn hơn. Tuy nhiên, lạm dụng các cách này có thể làm mã của bạn khó đọc hơn, vì vậy chỉ nên sử dụng chúng với những điều kiện đơn giản và dễ hiểu.
1is_admin = True
2input_name = None
3
4# Regular if statement
5if is_admin:
6 role = "Administrator"
7else:
8 role = "User"
9
10# Simplified using an inline if
11role = "Administrator" if is_admin else "User"
12
13# Use 'or' to provide a default value
14name = input_name or "Guest"- Với các điều kiện đơn giản, sử dụng toán tử ba ngôi hoặc
orcó thể làm cho mã của bạn ngắn hơn và dễ hiểu hơn.
Lưu trữ các biểu thức điều kiện.
Các biểu thức điều kiện có liên quan đến các phép tính phức tạp hoặc gọi hàm có thể được lưu trữ trong biến để cải thiện hiệu suất.
1def expensive_function():
2 pass
3
4def another_expensive_function():
5 pass
6
7### Bad Example
8if expensive_function() and another_expensive_function():
9 pass
10
11### Good Example
12result1 = expensive_function()
13result2 = another_expensive_function()
14if result1 and result2:
15 passTóm tắt
Các câu lệnh if trong Python là công cụ đơn giản và mạnh mẽ, nhưng sử dụng không đúng cách có thể làm mã phức tạp và khó đọc. Bằng cách áp dụng các thực tiễn tốt nhất được giới thiệu ở đây, bạn có thể cải thiện khả năng đọc, bảo trì và hiệu quả của mã của mình.
Bạn có thể làm theo bài viết trên bằng cách sử dụng Visual Studio Code trên kênh YouTube của chúng tôi. Vui lòng ghé thăm kênh YouTube.