当我在Python(3.9.6)解释器中使用walrus操作符时,
>>> walrus:=True我得到一个语法错误:
File "<stdin>", line 1
walrus := True
^
SyntaxError: invalid syntax这与以下内容有何不同?
>>> print(walrus := True)发布于 2022-04-18 13:54:47
这是不同的,因为Python开发人员对于违反Python的禅宗准则“应该有1最好只有一种--很明显的方法”非常矛盾,并且选择了用:=代替大多数普通=的使用而不给表达式添加额外的括号。
与其允许:=在所有上下文中替换=,他们特别禁止还没有插入海象的顶级用法:
在表达式语句的顶层禁止使用无括号的赋值表达式。 Y := f(x) #无效(y := f(x)) #有效,尽管不推荐 包含此规则是为了简化用户在赋值语句和赋值表达式之间的选择--在两者都有效的语法位置。
在许多禁止:=的情况下,可以通过在表达式周围添加其他不必要的括号来使其有效,因此:
(walrus:=True)它工作得很好,但假设大多数人会坚持更简单、更Pythonic的东西,这已经够痛苦的了:
walrus = True在那种情况下。
https://stackoverflow.com/questions/69196155
复制相似问题