【发布时间】:2019-09-20 13:59:17
【问题描述】:
这是一个元编程问题:我想了解为什么 python 开发人员引入了另一个带有新 := 的运算符。我知道它是干什么用的。但是,我想知道为什么开发人员选择一个新符号而不是重新使用例如as 运算符。
即为什么认为写作更可取
while (command := input("> ")) != "quit":
print("You entered:", command)
而不是
while input("> ") as command != "quit":
print("You entered:", command)
【问题讨论】:
-
嗯
as是一个已经是语言一部分的关键字,例如import itertools as it或with open(file) as f:等 -
正是我的观点。它已经有两种用途,例如
from。为什么不添加第三个? -
我认为解析新符号比重载
as运算符更容易(可能是模棱两可?)。也使用户更容易区分用途而不是在许多不同情况下使用一个符号/运算符 -
@Chris_Rands 谢谢,这基本上回答了它。我在阅读 PEP 时一定跳过了这一点。
标签: python python-3.x language-design python-3.8 python-assignment-expression