Лучшие практики написания условных операторов в Python
Эта статья объясняет лучшие практики написания условных операторов в Python.
YouTube Video
Лучшие практики написания условных операторов в Python
Оператор if
в Python является фундаментальной конструкцией для реализации условного ветвления, и он значительно влияет на читаемость и поддержку кода. Здесь мы подробно обсудим лучшие практики использования операторов if
.
Используйте явные условные выражения
Условные выражения должны быть лаконичными и явными. Например, избегайте громоздких выражений, как показано ниже:.
1# Bad Example
2if condition == True:
3 pass
4
5# Good Example
6if condition:
7 pass
В Python вы можете указать, что условие истинно, написав if condition:
.
Комбинирование нескольких условий
При комбинировании нескольких условий используйте and
или or
. Однако при усложнении условных выражений читаемость может ухудшиться, поэтому рассмотрите следующие корректировки:.
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
Разделяя условия и присваивая их переменным, можно повысить читаемость.
Понимание Truthy и Falsy значений
В Python следующие значения оцениваются как False
:.
None
False
- Число
0
(включая0.0
) - Пустые последовательности (например,
[]
,""
,()
) - Пустые сопоставления (например,
{}
)
Использование этого может помочь упростить ваши условные выражения.
1# Bad Example
2if len(items) > 0:
3 pass
4
5# Good Example
6if items:
7 pass
Правильное использование elif
и else
При проверке нескольких условий используйте elif
. Используйте else
, чтобы определить поведение по умолчанию в конце.
1if score >= 90:
2 grade = "A"
3elif score >= 80:
4 grade = "B"
5elif score >= 70:
6 grade = "C"
7else:
8 grade = "F"
Примечание:
else
не является обязательным. Если все условия учтены, это можно опустить.- Обратите внимание на порядок условных выражений и организуйте их логически, избегая излишков.
Ограничьте глубину вложенности.
Глубокая вложенность операторов if усложняет чтение кода. Сравните следующие примеры.
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()
Использование раннего выхода может уменьшить вложенность и сделать код более лаконичным.
Избегайте использования однострочных операторов if.
Хотя оператор if можно записать в одну строку, это может снизить читаемость.
1# Bad Example
2if condition: do_something()
3
4# Good Example
5if condition:
6 do_something()
Использование однострочных операторов if допустимо для коротких условий или действий, но избегайте громоздкого кода.
Кэширование условных выражений.
Условные выражения с ресурсоёмкими вычислениями или вызовами функций могут быть закэшированы в переменных для повышения производительности.
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
Резюме
Операторы if в Python являются простыми и мощными инструментами, но их неправильное использование может сделать код сложным и трудным для понимания. Применяя лучшие практики, представленные здесь, вы можете улучшить читаемость, поддерживаемость и эффективность вашего кода.
Вы можете следовать этой статье, используя Visual Studio Code на нашем YouTube-канале. Пожалуйста, также посмотрите наш YouTube-канал.