/
mialdr
/
python_advanced
Обзор
Документация
Войти
/
mialdr
/
python_advanced
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
module_07_logging_part_2/homework/utils.py
35 строк
824 B
Druchek MA
module7 is solved
07 ноя 2023, 18:03
07 ноя 2023, 18:03
7b85968
Код
Авторство
О чём код?
import logging.config from typing import Union, Callable from operator import sub, mul, truediv, add from logging_config import dict_config utils_logger = logging.getLogger('utils') logging.config.dictConfig(dict_config) OPERATORS = { '+': add, '-': sub, '*': mul, '/': truediv, } Numeric = Union[int, float] def string_to_operator(value: str) -> Callable[[Numeric, Numeric], Numeric]: """ Convert string to arithmetic function :param value: basic arithmetic function """ if not isinstance(value, str): utils_logger.error(f"wrong operator type {value}") raise ValueError("wrong operator type") if value not in OPERATORS: utils_logger.error(f"wrong operator value {value}") raise ValueError("wrong operator value") return OPERATORS[value]