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
示例代码
对于这个新语法,看官,你怎么看?快去评论区谈谈你的看法吧!