您可以在Python 3.8“ Walrus”运算符中使用就地运算符吗?

问题描述 投票:0回答:1

在Python 3.8中,引入了Walrus运算符,允许将赋值作为表达式。

这意味着我们可以替换这2条语句

a = 2
print(a)

with

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)
python syntax
1个回答
0
投票

您需要先定义a

print((a := 2)*3)

6

© www.soinside.com 2019 - 2024. All rights reserved.