Спустя 15 месяцев после прошлой версии вышел новый релиз языка программирования Python: версия 3.6 — это вам подарок на Новый год.
За полтора года разработки было добавлено довольно много нового:
— Одним из самых ожидаемых нововведений стала поддержка форматируемых строковых литералов: теперь вы можете определить строку, которая содержит подстановки. Выражения в фигурных скобках вычисляются, подставляясь в текст строки во время выполнения программы, а также форматируются с использованием протокола format().
Пример:
|
1
2
3
4
5
6
7
8
|
>>>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
|
1_000_000
|
— Добавлен модуль secrets, позволяющий генерировать криптографически надежные случайные числа: поможет при генерации различных ключей и токенов.
— В новой версии определен синтаксис аннотаций для переменных, что открывает возможность передать интерпретатору информацию о типах переменных. В атрибуте __annotations__ класса или модуля теперь сохраняются аннотации. Правда, речь идет не о накладывании ограничений: эта возможность используется для структурирования метаданных, которые могут использоваться сторонними инструментами и библиотеками.
Пример:
|
1
2
3
4
|
primes:List[int]=[]
captain:str# Note: no initial value!
classStarship:
stats:Dict[str,int]={}
|
— В модуль hashlib разработчики добавили поддержку алгоритмов хэширования BLAKE2, SHA-3 и SHAKE, также реализована функция формирования ключа scrypt().
— Улучшена работа с асинхронностью.
— Улучшена поддержка ОС Windows.
Полный список обновлений можно найти на официальном сайте.
