gpt4 book ai didi

python - 为什么 Python 中的命名表达式需要专用语法(:=, 海象运算符)?

转载 作者:行者123 更新时间:2023-12-04 02:31:49 24 4
gpt4 key购买 nike

我真的不明白为什么需要为命名表达式引入专用语法(:= 运算符),如 PEP572 所述。 .例如。一个应该写:

if (match := pattern.search(data)) is not None:
# Do something with match
为什么不简单地 if (match = pattern.search(data)) ?如果是因为向后兼容,那么注意下面的表达式: (x = 1)引发 SyntaxError: invalid syntax ,因此允许它并开始将其解释为命名表达式就足够了,而不是引入新的 :=运算符,顺便说一句,在大多数情况下,无论如何它都会被括号包围。
我觉得我没有看到其他人都得到的明显的东西;-)

最佳答案

因为explicit is better than implicit , 和 :=明确你执行任务的意图;而使用 =很容易是拼写错误的结果,这就是 = 的原因故意在 Python 中的表达式中不起作用。
其实不小心用了=而不是 ==比较内部是支持它的语言中常见的错误来源。

关于python - 为什么 Python 中的命名表达式需要专用语法(:=, 海象运算符)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63807658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com