Вы взволнованы последним выпуском Python, также известным как 3.8. Мы придумали лучшие функции, которые облегчат жизнь программистам

1) Морж оператор

Выражения присваивания пришли в Python с оператором «моржа» :=. Это позволит вам присваивать значения переменной как части выражения. Основным преимуществом этого является то, что вы экономите несколько строк кода, когда вы хотите использовать, скажем, значение выражения в последующем условии.

f=open('netsetos.txt')
while line:=f.readline():
    print(line)

2) Только позиционные аргументы

Специальный маркер / теперь можно использовать при определении аргументов метода, чтобы указать, что функционал принимает только позиционные аргументы слева от маркера.

def increment_1(amt,discount,/):
    return amt+1+discount

3) f-строки теперь поддерживают «=»

Спецификатор =, используемый как f’{expr=}’, расширяется до текста выражения, знака равенства, а затем повторения оцениваемого выражения.

import math
theta=30
print(f'{theta=} {math.cos(math.radians(theta))=:.3f}')

4) reverse() теперь работает с dict

Встроенная функция reversed() теперь может использоваться для доступа к словарю в порядке, обратном вставке.

dict1={1:'a',4:'d',8:'h',2:'b'}
print(list(reversed(dict1.items())))

5) Упрощенная итерируемая распаковка для возврата и выхода

Это непреднамеренное поведение существует с Python 3.2, который запрещал распаковку итерируемых объектов без круглых скобок в операторах return и yield.

def iterable_return():
    val = (8, 5, 6)
    return 1, 2, 3, *val

6) Новые предупреждения о синтаксисе

Интерпретатор Python теперь выдает SyntaxWarning в некоторых случаях, когда запятая пропущена перед кортежем или списком. Поэтому, когда вы случайно делаете это

def ignore_comma():
    data=[
        (1,2,3,4)
        (6,5,8,4)
    ]
    print(data)

7) продолжить в блоке finally

В новой версии мы можем использовать continue в блоке finally вместе с break и continue.

Оставайтесь с нами, мы готовим новую серию функций для Python 3.8.

for i in range(24):
    try:
        print(1/0)
    except:
        print(34)
    finally:
        continue
        print("Error on continue")

Для более подробного объяснения, пожалуйста, следуйте за нами на https://www.youtube.com/watch?v=uzz5EXoH9Qk&feature=youtu.be