提问人:Randy Sugianto 'Yuku' 提问时间:9/8/2022 最后编辑:Randy Sugianto 'Yuku' 更新时间:9/8/2022 访问量:668
为什么需要 Python 海象运算符 (:=) 而不是仅仅使用普通的赋值运算符(等号)?[复制]
Why is Python walrus operator (:=) needed instead of just using the normal assignment operator (equal sign)? [duplicate]
问:
我刚刚了解到 Python 3.8 中有一个海象运算符
if a := 2 + 3:
print(a) # 5
我想知道为什么他们创建了一个新的运算符,而不是允许现有的赋值运算符作为表达式,比如
(引发 SyntaxError 的代码如下)
if a = 2 + 3: # assign 2 + 3 to a, then evaluate the trueness of a
print(a) # 5
编辑:我看到了这个问题,但这并没有具体解决为什么我们不能使用现有运算符代替 .=
:=
答: 暂无答案
评论
if (a=2+3) and True: