Najlepsze praktyki dotyczące instrukcji warunkowych w Pythonie
Ten artykuł wyjaśnia najlepsze praktyki dotyczące instrukcji warunkowych w Pythonie.
YouTube Video
Najlepsze praktyki dotyczące instrukcji warunkowych w Pythonie
Instrukcja if
w Pythonie jest podstawową konstrukcją do implementacji rozgałęzień warunkowych i ma ogromny wpływ na czytelność oraz łatwość utrzymania kodu. Tutaj omówimy szczegółowo najlepsze praktyki korzystania z instrukcji if
.
Używaj wyraźnych wyrażeń warunkowych
Wyrażenia warunkowe powinny być zwięzłe i wyraźne. Na przykład, unikaj rozwlekłych wyrażeń jak poniższe:.
1# Bad Example
2if condition == True:
3 pass
4
5# Good Example
6if condition:
7 pass
W Pythonie możesz wskazać, że warunek jest spełniony, pisząc if condition:
.
Łączenie wielu warunków
Podczas łączenia wielu warunków używaj and
lub or
. Jednak gdy wyrażenia warunkowe stają się skomplikowane, czytelność może się zmniejszyć, dlatego rozważ następujące poprawki:.
1# Complex condition
2if (age > 18 and age < 65) or (is_student and age > 15):
3 pass
4
5# Improving readability
6is_working_age = 18 < age < 65
7is_eligible_student = is_student and age > 15
8
9if is_working_age or is_eligible_student:
10 pass
Dzieląc warunki i przypisując je do zmiennych, można poprawić czytelność.
Zrozum wartości Truthy i Falsy
W Pythonie następujące wartości są oceniane jako False
:.
Brak
Fałsz
- Liczba
0
(w tym0.0
) - Puste sekwencje (np.
[]
,""
,()
) - Puste mapowania (np.
{}
)
Wykorzystanie tego może pomóc w uproszczeniu wyrażeń warunkowych.
1# Bad Example
2if len(items) > 0:
3 pass
4
5# Good Example
6if items:
7 pass
Poprawne użycie elif
i else
Podczas oceny wielu warunków używaj elif
. Używaj else
, aby zdefiniować domyślne zachowanie na końcu.
1if score >= 90:
2 grade = "A"
3elif score >= 80:
4 grade = "B"
5elif score >= 70:
6 grade = "C"
7else:
8 grade = "F"
Uwaga:
else
nie jest obowiązkowe. Jeśli wszystkie warunki są spełnione, można je pominąć.- Zwróć uwagę na kolejność wyrażeń warunkowych i ułóż je logicznie, unikając zbędnej redundancji.
Ogranicz głębokość zagnieżdżania.
Głębokie zagnieżdżanie instrukcji if utrudnia czytanie kodu. Porównaj poniższe przykłady.
1# Bad Example
2if user.is_authenticated:
3 if user.has_permission:
4 if resource.is_available:
5 access_resource()
6
7# Good Example
8if not user.is_authenticated:
9 return
10if not user.has_permission:
11 return
12if not resource.is_available:
13 return
14
15access_resource()
Stosowanie wczesnych zwrotów może zmniejszyć zagnieżdżanie i uczynić kod bardziej zwięzłym.
Unikaj używania jednowierszowych instrukcji if.
Chociaż można napisać instrukcję if w jednym wierszu, może to zmniejszyć czytelność.
1# Bad Example
2if condition: do_something()
3
4# Good Example
5if condition:
6 do_something()
Stosowanie jednowierszowych instrukcji if jest akceptowalne dla krótkich warunków lub akcji, ale unikaj rozwlekłego kodu.
Buforowanie wyrażeń warunkowych.
Wyrażenia warunkowe zawierające kosztowne obliczenia lub wywołania funkcji można buforować w zmiennych, aby poprawić wydajność.
1# Bad Example
2if expensive_function() and another_expensive_function():
3 pass
4
5# Good Example
6result1 = expensive_function()
7result2 = another_expensive_function()
8if result1 and result2:
9 pass
Podsumowanie
Instrukcje if w Pythonie to proste i skuteczne narzędzia, ale niewłaściwe użycie może sprawić, że kod stanie się skomplikowany i trudny do zrozumienia. Przyjmując najlepsze praktyki przedstawione tutaj, możesz poprawić czytelność, łatwość konserwacji i wydajność swojego kodu.
Możesz śledzić ten artykuł, korzystając z Visual Studio Code na naszym kanale YouTube. Proszę również sprawdzić nasz kanał YouTube.