才加插值语法糖, Python 现在又要加问号语法糖了

2015-09-20 13:54:30 +08:00
 cbsw
[PEP0505]( https://www.python.org/dev/peps/pep-0505/)

```python
>>> title = 'My Title'
>>> title ?? 'Default Title'
'My Title'
>>> title = None
>>> title ?? 'Default Title'
'Default Title'
```

另外这是之前关于插值糖的讨论 http://v2ex.com/t/211863
5916 次点击
所在节点    Python
33 条回复
firemiles
2015-09-20 18:19:41 +08:00
@ethego 首先我也很喜欢 python3 ,因为不用纠结编码问题。但是这个语法糖加多了虽然自己不用,可是别人会用啊,看代码会比较麻烦。还有 python3 把 print 变成函数就是减轻语法负担,统一代码书写形式,但却又加上这种并不重要的语法糖,增加语法复杂度,把这个做成函数放库里不好吗。还有 ruby 的 replace! 之类的 api 真的很好,什么时候 python 能加上啊。
aisk
2015-09-20 18:23:13 +08:00
@introom 觉得太丑一般都是因为自己那点狭隘的审美观。
zonghua
2015-09-20 18:26:09 +08:00
语法糖堪比 matlab
wizardforcel
2015-09-20 19:05:31 +08:00
明显是跟 c#学的。

话说怎么不把 ruby 的<=>也学来
otakustay
2015-09-20 19:48:36 +08:00
C#好像快要出一个叫“不能为 null 的类型”的类型了,其它没这特性的语言也可以参考
introom
2015-09-20 20:39:10 +08:00
@aisk 这都不丑,这是有多包容和博爱,,,
linchunai1212
2015-09-20 22:54:00 +08:00
3.5 还加入 @ 感觉丑
latyas
2015-09-20 22:59:59 +08:00
不就是 or 么
poke707
2015-09-20 23:45:17 +08:00
这个语法糖是不错,但"??"这个写法真的觉得风格不一致
minsheng
2015-09-21 06:53:54 +08:00
这么麻烦真是无聊,学习 Swift 来个 sum type 什么都好了。

(我知道 Swift 抄 Rust 抄 Haskell 抄 ML )
ophunter
2015-09-21 10:17:20 +08:00
C# 威武,从小弟变成了领导者
julyclyde
2015-09-21 11:19:41 +08:00
@phx13ye 值 None 总比变量名字不存在要强点儿
glasslion
2015-09-21 16:05:54 +08:00
??这个操作符有点鸡肋, 但这个 PEP 还打算引入涉及成员访问的操作符, Coffee script 里用起来会很爽啊

Null-Aware Member Access Operator

>>> title?.upper ()
None

Null-Aware Index Access Operator
>>> person?['name']
None

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/222162

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX