Релиз Python 3.8 |
Наиболее интересные новшества:
Новый оператор := позволяет присваивать значения переменным внутри выражений. Например:
if (n := len(a)) > 10:
print(f"List is too long ({n} elements, expected <= 10)")
Теперь можно указать, какие параметры функций можно передавать через синтаксис именованных аргументов, а какие нет. Пример:
def f(a, b, /, c, d, *, e, f):
print(a, b, c, d, e, f)
f(10, 20, 30, d=40, e=50, f=60) # OK
f(10, b=20, c=30, d=40, e=50, f=60) # ошибка, `b` не может быть именованным аргументом
f(10, 20, 30, 40, 50, f=60) # ошибка, `e` обязан быть именованным аргументом
= для самодокументирующих выражений и отладки:Добавлен сахар для упрощения отладочных/логгирующих сообщений.
n = 42
print(f'Hello world {n=}.')
# напечатает "Hello world n=42."continue в блоке finally (раньше оно не работало).
Прочее:
__pycache__.
http://feedproxy.google.com/~r/org/LOR/~3/9AyVlXBwQIU/15290190
| Комментировать | « Пред. запись — К дневнику — След. запись » | Страницы: [1] [Новые] |