Что нового в Python 3.12
Собрали основные фишки последнего обновления Python для тех, кому сложно (или не особо хочется) лезть в документацию.
19К открытий23К показов
12 августа вышел Python 3.12.0rc1, а значит, пора пройтись по хайлайтам. Собрали основные фишки для тех, кому сложно (или не особо хочется) лезть в документацию.
Улучшенный подсказки для импорта
Если вы забыли подтянуть библиотеку инструкцией import
, то теперь интерпретатор вежливо подскажет (‘did you forget...’
) и укажет на опечатки в названии подключаемого модуля:
Переиспользование кавычек в f-строках
Теперь напрягать внимание, чтобы вложить в строку объект в кавычках, не нужно. Система поймет, где открывающая, а где — закрывающая кавычка, любое количество раз:
Вот такая «акробатика» тоже скомпилируется:
Обратная косая черта в f-строках
До Python 3.12 использовать backslash в интерполируемых строках было нельзя. Теперь же мы смело можем внедрять и разрывы строк (\n), и переносы кареток (\r), и другие подобные символы:
Ускоренное включение
В PEP 709 описан апгрейд включений словарей, списков и сетов. Ускорение обещается вплоть до двукратного. За это спасибо и нашему соотечественнику, контрибьютору Python Владимиру Макееву.
Порядок слов в инструкции импорта
В крайней версии Python 3.12, наконец, стало возможным импортировать модули в адекватном для английского языка порядке слов:
TypedDict для определения типов **kwargs
Если вам доводилось налегать на kwargs (keyword arguments – аргументы c ключевыми словами), то вы помните, что оператор двойная звездочка издавна упаковывает аргументы, переданные по имени, в словарь:
Теперь мы можем использовать TypedDict
(буквально – словарь с заданными типами значений) для того, чтобы такие аргументы получили большую свободу типов:
Перезапись декоратора
Если у нас есть класс Base c методом get_color()
, и в наследном классе GoodChild
мы хотим эту функцию переопределить, то инструкцией @override
это сделать очень просто:
Псевдонимы типов
Если мы объявим кортеж Point
, который состоит из двух чисел с плавающей запятой, и собираемся создавать его экземпляры, с этим поможет инструкция type
:
Заключение
Помимо этих новшеств, в описании релиза вы найдете и другие улучшения для продвинутых: буферный протокол, выделенный на каждый интерпретатор GIL и прочее. Надеюсь, вам удастся облегчить свой кодинг такими новшествами. Прилагаю ссылку на анонс и скачиваемый дистрибутив для разных ОС.
Напишите в комментариях, какой апдейт вам понравился больше всего.
19К открытий23К показов