Вопрос проверяет умение писать компактные функции и обрабатывать исключительные ситуации без ошибок.
Можно создать лямбда-функцию, которая сначала проверяет делитель на ноль, а при нуле возвращает, например, None, 0 или сообщение об ошибке. Лямбда не поддерживает многострочные конструкции, поэтому условие пишется в одной строке. Такой приём позволяет безопасно избегать исключения ZeroDivisionError.
Определение:
Лямбда-функция — это короткая анонимная функция, определяемая через выражение lambda args: expression.
Реализация безопасного деления требует проверки делителя.
Python
safe_div = lambda a, b: a / b if b != 0 else None
Использование:
Python
print(safe_div(10, 2)) # 5.0
print(safe_div(10, 0)) # None
Можно возвращать:
число 0 при делении на ноль:
lambda a, b: a / b if b else 0
строку:
lambda a, b: a / b if b else "division by zero"
исключение (редко в лямбдах):
lambda a, b: a / b if b else (_ for _ in ()).throw(ZeroDivisionError())
обработка пользовательского ввода;
вычисления, где ошибка недопустима;
однострочные функции для map, filter, генераторов.
компактность кода;
отсутствие падений программы;
предсказуемое поведение при b = 0.
Лямбда-функция с проверкой делителя даёт простой способ выполнить безопасное деление и избежать исключений при работе с динамическими данными.