>>> title = 'My Title'
>>> title ?? 'Default Title'
'My Title'
>>> title = None
>>> title ?? 'Default Title'
'Default Title'
另外这是之前关于插值糖的讨论 http://v2ex.com/t/211863
>>> title = 'My Title'
>>> title ?? 'Default Title'
'My Title'
>>> title = None
>>> title ?? 'Default Title'
'Default Title'
另外这是之前关于插值糖的讨论 http://v2ex.com/t/211863
|
zhichengSep 20, 2015
1
已经不看好 Python 3 的发展了。
|
|
SeptembersSep 20, 2015 via Android
2
其实"??"换成"or"也是可以的
|
|
dingyaguang117Sep 20, 2015 via iPhone
3
一直用 or
|
|
xierchSep 20, 2015
4
和 or 不一样, or 只要是 false 的行,?? 要求 None
|
|
aec4dSep 20, 2015
5
看原文和 or 不一样 只针对 None 值 黑魔法的是可以针对成员访问和索引访问加?不存在就返回 None
黑魔法越来越多 我等着用 python4 |
|
HyperionSep 20, 2015 via Android
6
py3lint 指日可待
|
|
introomSep 20, 2015
7
这种??太丑,必须被 reject
|
|
otakustaySep 20, 2015
8
这不是 C#的某语法吗, C#程序员表示用得很爽啊
|
|
codeforlifeSep 20, 2015
9
没觉得有什么问题啊
|
|
phx13yeSep 20, 2015
10
防火防盗防 NONE ,弱弱的问一下: None 这个东西既然大家都在防一开始为什么要造出来啊
|
|
fengdraSep 20, 2015
11
not defined 行不行
|
|
SinSep 20, 2015
12
我大 C#威武
|
|
firemilesSep 20, 2015
14
我还以为是要加 ruby 里最爽的的 has? replace! 这样的语法糖,这两个语法糖真的很方便, python ??的语法糖用一个函数代替好了,有必要用语法糖吗?@ethego
|
|
fySep 20, 2015
15
太丑,我觉得?=都比??好
|
|
liuxuSep 20, 2015
17
看着逻辑像 linux 脚本。。
|
|
ethegoSep 20, 2015
18
@firemiles 语法糖这种东西本来就是不想用就不用好了,非逼着用语法糖啊? py3 里解决了一些细小的遗留问题,比方说 None 改成关键字, print 改成函数,默认 utf8 编码,这些边边角角的细节修改都是会经常用到的好特性。再就是 map/reduce/filter 这些函数都只接受生成器返回生成器了,非常棒地解决了递归的问题。这些特性让我不能不爱上 py3
|
|
akagiSep 20, 2015
19
纠结语法糖不如用 Perl, 想怎么写,就能怎么写,别人还不敢说你的不是 :)
|
|
estSep 20, 2015
20
为毛不学习 ruby 的 ||= 。还可以一句话写 cache 。
|
|
firemilesSep 20, 2015
21
@ethego 首先我也很喜欢 python3 ,因为不用纠结编码问题。但是这个语法糖加多了虽然自己不用,可是别人会用啊,看代码会比较麻烦。还有 python3 把 print 变成函数就是减轻语法负担,统一代码书写形式,但却又加上这种并不重要的语法糖,增加语法复杂度,把这个做成函数放库里不好吗。还有 ruby 的 replace! 之类的 api 真的很好,什么时候 python 能加上啊。
|
|
zonghuaSep 20, 2015
23
语法糖堪比 matlab
|
|
wizardforcelSep 20, 2015
24
明显是跟 c#学的。
话说怎么不把 ruby 的<=>也学来 |
|
otakustaySep 20, 2015
25
C#好像快要出一个叫“不能为 null 的类型”的类型了,其它没这特性的语言也可以参考
|
|
linchunai1212Sep 20, 2015
27
3.5 还加入 @ 感觉丑
|
|
latyasSep 20, 2015
28
不就是 or 么
|
|
poke707Sep 20, 2015 via Android
29
这个语法糖是不错,但"??"这个写法真的觉得风格不一致
|
|
minshengSep 21, 2015
30
这么麻烦真是无聊,学习 Swift 来个 sum type 什么都好了。
(我知道 Swift 抄 Rust 抄 Haskell 抄 ML ) |
|
ophunterSep 21, 2015
31
C# 威武,从小弟变成了领导者
|
|
glasslionSep 21, 2015
33
??这个操作符有点鸡肋, 但这个 PEP 还打算引入涉及成员访问的操作符, Coffee script 里用起来会很爽啊
Null-Aware Member Access Operator >>> title?.upper () None Null-Aware Index Access Operator >>> person?['name'] None |