Спустя 15 месяцев после прошлой версии вышел новый релиз языка программирования Python: версия 3.6 — это вам подарок на Новый год.
За полтора года разработки было добавлено довольно много нового:
— Одним из самых ожидаемых нововведений стала поддержка форматируемых строковых литералов: теперь вы можете определить строку, которая содержит подстановки. Выражения в фигурных скобках вычисляются, подставляясь в текст строки во время выполнения программы, а также форматируются с использованием протокола format().
Пример:
>>> name = "Fred"
>>> f"He said his name is {name}."
'He said his name is Fred.'
>>> width = 10
>>> precision = 4
>>> value = decimal.Decimal("12.34567")
>>> f"result: {value:{width}.{precision}}" # nested fields
'result: 12.35'
— Добавлена возможность добавлять нижние подчеркивания в числа для улучшения читаемости.
Пример:
1_000_000
— Добавлен модуль secrets, позволяющий генерировать криптографически надежные случайные числа: поможет при генерации различных ключей и токенов.
— В новой версии определен синтаксис аннотаций для переменных, что открывает возможность передать интерпретатору информацию о типах переменных. В атрибуте __annotations__
класса или модуля теперь сохраняются аннотации. Правда, речь идет не о накладывании ограничений: эта возможность используется для структурирования метаданных, которые могут использоваться сторонними инструментами и библиотеками.
Пример:
primes: List[int] = []
captain: str # Note: no initial value!
class Starship:
stats: Dict[str, int] = {}
— В модуль hashlib разработчики добавили поддержку алгоритмов хэширования BLAKE2, SHA-3 и SHAKE, также реализована функция формирования ключа scrypt().
— Улучшена работа с асинхронностью.
— Улучшена поддержка ОС Windows.
Полный список обновлений можно найти на официальном сайте.
Много полезных материалов по Python можно найти на нашем сайте.
https://docs.python.org/3.6/whatsnew/3.6.html