
>>> title = 'My Title' >>> title ?? 'Default Title' 'My Title' >>> title = None >>> title ?? 'Default Title' 'Default Title' 另外这是之前关于插值糖的讨论 http://v2ex.com/t/211863
1 zhicheng 2015-09-20 14:01:58 +08:00 已经不看好 Python 3 的发展了。 |
2 Septembers 2015-09-20 14:02:08 +08:00 via Android 其实"??"换成"or"也是可以的 |
3 dingyaguang117 一直用 or |
4 xierch 2015-09-20 14:12:33 +08:00 和 or 不一样, or 只要是 false 的行,?? 要求 None |
5 aec4d 2015-09-20 14:18:58 +08:00 看原文和 or 不一样 只针对 None 值 黑魔法的是可以针对成员访问和索引访问加?不存在就返回 None 黑魔法越来越多 我等着用 python4 |
6 Hyperion 2015-09-20 14:22:11 +08:00 via Android py3lint 指日可待 |
7 introom 2015-09-20 14:31:38 +08:00 这种??太丑,必须被 reject |
8 otakustay 2015-09-20 14:55:24 +08:00 这不是 C#的某语法吗, C#程序员表示用得很爽啊 |
9 codeforlife 2015-09-20 15:06:12 +08:00 没觉得有什么问题啊 |
10 phx13ye 2015-09-20 15:14:03 +08:00 防火防盗防 NONE ,弱弱的问一下: None 这个东西既然大家都在防一开始为什么要造出来啊 |
11 fengdra 2015-09-20 15:33:52 +08:00 not defined 行不行 |
12 Sin 2015-09-20 16:21:33 +08:00 我大 C#威武 |
14 firemiles 2015-09-20 16:37:44 +08:00 我还以为是要加 ruby 里最爽的的 has? replace! 这样的语法糖,这两个语法糖真的很方便, python ??的语法糖用一个函数代替好了,有必要用语法糖吗?@ethego |
15 fy 2015-09-20 16:41:37 +08:00 太丑,我觉得?=都比??好 |
17 liuxu 2015-09-20 16:43:33 +08:00 看着逻辑像 linux 脚本。。 |
18 ethego 2015-09-20 16:46:16 +08:00 @firemiles 语法糖这种东西本来就是不想用就不用好了,非逼着用语法糖啊? py3 里解决了一些细小的遗留问题,比方说 None 改成关键字, print 改成函数,默认 utf8 编码,这些边边角角的细节修改都是会经常用到的好特性。再就是 map/reduce/filter 这些函数都只接受生成器返回生成器了,非常棒地解决了递归的问题。这些特性让我不能不爱上 py3 |
19 akagi 2015-09-20 17:07:11 +08:00 纠结语法糖不如用 Perl, 想怎么写,就能怎么写,别人还不敢说你的不是 :) |
20 est 2015-09-20 17:16:48 +08:00 为毛不学习 ruby 的 ||= 。还可以一句话写 cache 。 |
21 firemiles 2015-09-20 18:19:41 +08:00 @ethego 首先我也很喜欢 python3 ,因为不用纠结编码问题。但是这个语法糖加多了虽然自己不用,可是别人会用啊,看代码会比较麻烦。还有 python3 把 print 变成函数就是减轻语法负担,统一代码书写形式,但却又加上这种并不重要的语法糖,增加语法复杂度,把这个做成函数放库里不好吗。还有 ruby 的 replace! 之类的 api 真的很好,什么时候 python 能加上啊。 |
23 zonghua 2015-09-20 18:26:09 +08:00 语法糖堪比 matlab |
24 wizardforcel 2015-09-20 19:05:31 +08:00 明显是跟 c#学的。 话说怎么不把 ruby 的<=>也学来 |
25 otakustay 2015-09-20 19:48:36 +08:00 C#好像快要出一个叫“不能为 null 的类型”的类型了,其它没这特性的语言也可以参考 |
27 linchunai1212 2015-09-20 22:54:00 +08:00 3.5 还加入 @ 感觉丑 |
28 latyas 2015-09-20 22:59:59 +08:00 不就是 or 么 |
29 poke707 2015-09-20 23:45:17 +08:00 via Android 这个语法糖是不错,但"??"这个写法真的觉得风格不一致 |
30 minsheng 2015-09-21 06:53:54 +08:00 这么麻烦真是无聊,学习 Swift 来个 sum type 什么都好了。 (我知道 Swift 抄 Rust 抄 Haskell 抄 ML ) |
31 ophunter 2015-09-21 10:17:20 +08:00 C# 威武,从小弟变成了领导者 |
33 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 |