Python с нуля к первым деньгам за коды
320 subscribers
91 photos
44 videos
154 links
Download Telegram
Assert vs Exception

#Python #ОбработкаОшибок #BestPractices #Код #Разработка #Assert

"Assert — для разработчика, Exception — для пользователя. Выбирай инструмент под задачу!"

# Плохо (assert для валидации API):
def set_age(age):
assert age > 0, "Возраст должен быть положительным" # Ненадежно!
# ...

# Хорошо (используйте исключения):
def set_age(age):
if age <= 0:
raise ValueError("Возраст должен быть положительным")

Различие:
• Assert — для отладки (исчезает в продакшне).
• Exception — для обработки ожидаемых ошибок.

Знаешь с кем поделиться?
________________________________________
🔥🆙 Содержание В начало 👀🤔
Ограничения и альтернативы

#Python #BestPractices #Ошибки #Инструменты #Разработка #Тестирование

"Assert — не панацея. Иногда нужны pytest или logging!"
# Когда assert недостаточно:
# 1. Для тестов → pytest
def test_divide():
assert divide(10, 2) == 5.0 # Лучше в рамках pytest/unitest

# 2. Для логирования → logging
import logging
logging.basicConfig(level=logging.DEBUG)
logging.debug("Проверка: %s", some_value) # Не исчезнет в продакшне


Вывод:
• В продакшне заменяйте assert на:
o pytest — для тестов.
o logging — для диагностики.

Знаешь с кем поделиться?
________________________________________
🔥🆙 Содержание В начало 👀🤔