Python表达式内赋值

  • 2019 年 10 月 7 日
  • 笔记

1

消息来源

消息来源为PEP 572,该PEP已经被讨论通过,最终发布时细节可能会有改动,但是一定会发布。该提案网址:https://www.python.org/dev/peps/pep-0572/

2

为什么要新增这个语法?

给表达式的结果一个名字是很有必要的,它让你可以重用这个结果。目前你可以使用一个赋值语句来创建一个变量,用这个变量代表表达式的值。但是这个办法没法使用在表达式内部,比如列表推导中。

    另外,给一个长长的表达式的一部分一个命名,也对调试很有好处。你可以查看部分的结果。如果不能在表达式内部进行变量赋值,那么你就只能重构代码才能调试代码的中间结果了。有了“表达式赋值”,你需要做的就是添加几个 name := 标签了,这样你就不需要为了调试而大面积地更改代码了,这样可以避免不少的bug,也让其他合作者更容易理解你的代码。

3

新语法预览

表达式赋值的基本语法如下:

Name := expr

Name是表达式的名称,也就是得到变量的名称。

:=是一个冒号加一个等号。

expr是任意表达式

4

示例代码

对于这个新语法,看官,你怎么看?快去评论区谈谈你的看法吧!