Try/Except vs. If/Else: какой подход предпочтительнее?
При работе с исключениями в Python разработчики часто сталкиваются с дилеммой того, следует ли проверять достоверность или пытаться выполнить действие и обработать возникающее исключение. В этой статье рассматриваются нюансы каждого подхода, предоставляются рекомендации и примеры для принятия решений.
Попробуйте/исключите: использование исключений
Согласно PEP 20, ошибки никогда не должен проходить молча, если только его явно не замалчивают. Хотя это может означать, что использование блока try/Exception для обработки исключений является приемлемым, важно учитывать природу перехватываемого исключения. только в редких случаях. Это позволяет ускорить выполнение за счет устранения ненужных поисков. Кроме того, это соответствует философии Python EAFP (проще просить прощения, чем разрешения).
Ускорение и более чистый кодПопытка/исключение может привести к увеличению скорости -ups, когда исключительный случай встречается нечасто и проверка его возникновения потребует дополнительных поисков. Например, попытка получить доступ к элементу по определенному индексу в длинном списке выполняется быстрее с помощью try/Exception по сравнению с проверкой того, находится ли индекс в пределах границ с помощью if/else.
Более того, try/Exception способствует более чистому коду путем сжатия нескольких условных операторов в один блок, что повышает читаемость и сокращает количество линии.
Пример:Рассмотрите следующие фрагменты кода:
# If/else подход если len(my_list) >= 4: х = мой_список[3] еще: х = 'НЕТ_ABC' # Попробовать/исключить подход пытаться: х = мой_список[3] кроме IndexError: x = 'NO_ABC'# If/else approach
if len(my_list) >= 4:
x = my_list[3]
else:
x = 'NO_ABC'
# Try/except approach
try:
x = my_list[3]
except IndexError:
x = 'NO_ABC'
ЗаключениеХотя и Try/Exception, и if/else имеют свои преимущества, Try/Exception обычно предпочтительнее, когда он приводит к повышению скорости, более чистому коду или обработке исключительных случаев. без ущерба для видимости исключений. Принимая исключения и разумно их используя, разработчики Python могут создавать надежный, читаемый и эффективный код.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3