![]() |
Что нового в Python 3.14 и как это влияет на код
Заметил, что в Python 3.14 пару моментов поменяли, которые прямо могут поломать привычные штуки или заставить что-то переделывать. Например, изменение в синтаксисе pattern matching, где теперь строгая проверка на типы, и нельзя просто так разбрасываться любыми паттернами. Если не проверить свой код, можно получить неожиданное поведение.
Чтобы не поймать ошибку в проде, сначала запускаю тесты на старом и новом питоне, смотрю где падает. В некоторых случаях помогает просто поправить конструкции, сделав их чуть «чистее» по типам, а не спамить игнорами. Еще обратил внимание на обновления в типизации, появилась более жесткая проверка параметров, в том числе для коллекций. Если используете старые аннотации, лучше переписать – иначе mypy начнёт ругаться. Это бесит, но зато потом код становится понятнее. Кто уже пробовал 3.14, какие подводные камни встречаются? Мне кажется, всё не так страшно, просто нужно чуть внимательнее глянуть на warning-и и не игнорировать тесты. |
Честно, мне запутанно с этими изменениями в pattern matching, вроде бы что-то стало чуточку строже, и мой старый код не всегда работает. Типизацию вот тоже пришлось немного поправить, иначе mypy ругается постоянно. Пока пытаюсь привыкнуть, но да, лучше код проверять тщательнее, чем потом переписывать по-быстрому.
|
| Время: 17:30 |