Python 3.10 match & улучшенная проверка типов

В Python 3.10 произошли большие изменения, из всего, что я точно буру себе это match и улучшенную проверку типов.

def get_color(color: str) -> str:
    match color:
        case "black":
            return "#fffff"
        case "white":
            return "#00000"
        case _:   #default
            return "#green"

Проверка типов в Python 3.10

#  Новый способ проверки типов
def some(value: int | float) -> int | float:
    return value

#  Старый способ
def some(value: Union[int, float]) -> Union[int, float]:
    return value

В productiuon использую только в одном проекте, так как на хостинге из коробки ещё нет доступного Python 3.10, пришлось собрать из исходников. Не везде есть такая возможность. Ещё на всех рабочих машинах пришлось поставить Python 3.10.

В общем пользоваться можно, это примерно то же, что и при переходе на Python 3.6 из-за async, начав использовать новые фичи теряешь обратную совместимость.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *