Выпуск Python 3.8

Python 3.8 (выпущен 14 октября 2019) — версия, которая сделала код заметно компактнее и удобнее, добавив новые синтаксические возможности и улучшив интерпретатор.

Моржовый оператор (Assignment expressions :=)

Главная звезда релиза — PEP 572, он же "морж".

Позволяет присвоить значение прямо внутри выражения:

import re

if match := re.search(r'паттерн', "Поиск паттерна"):
    print(match.group(0))
while (chunk := file.read(1024)) != b"":
    process(chunk)

Строго позиционные аргументы (/)

PEP 570 добавил новый синтаксис:

def calculate(a, b, /, op="add"):
    pass

Улучшения f-строк (debug syntax)

Теперь можно быстро дебажить переменные:

value = 42
print(f"{value=}")
# value=42

Новые возможности стандартной библиотеки

Производительность и интерпретатор

Устаревшие изменения

История патчей (Subversions)


Оффициальная документация 3.8