В Python 3.8 был введен оператор Walrus, позволяющий присваивать в качестве выражения.
Это означает, что мы можем заменить эти 2 оператора
a = 2
print(a)
на
print(a := 2)
Однако, Python также имеет назначение «на месте» с операторами, где, например, a = a * 3
эквивалентно a *= 3
Есть ли способ использовать «на месте» назначение оператора, в сочетании с назначением Walrus?
Для следующего кода
a *= 3
print(a)
Чтобы заново создать это с назначением Walrus, кажется, что вы должны сделать
print(a := a * 3)
Обе эти попытки поднимают SyntaxError
print(a :*= 3)
print(a *:= 3)