1
gaicitadie 2014 年 2 月 2 日
if result=func1(...):
if result==func1(...): 这两个容易弄混,python不支持这个功能,从根本上杜绝了看走眼导致bug的因素。 python玩不出花样来,写程序的时候会觉得呆板,但维护自己几年前代码的时候你会感激python的呆板 |
2
weakish 2014 年 2 月 2 日
Scheme/Lua也没有。
赋值语句的返回值为所赋的值,这个我理解起来感觉蛮困难的——我觉得赋值语句应该是没有返回值,或者返回值为nil之类的东西(Haskell里类似赋值的操作返回值的类型是 `()`,纯副作用的返回值)。 别的语言里,`if a == 1`,粗心少打一个`=`号,变成`if a = 1`就出问题了,但是Python就没这个问题。这一点上比较方便。 |
3
dorentus 2014 年 2 月 2 日 via iPad
我倒是不明白到底什么人什么情况下会手误写混 = ==
不过会给读代码的人造成困惑倒是很有可能的… |
5
EPr2hh6LADQWqRVH 2014 年 2 月 2 日 @dorentus 任何人任何情况好嘛,人类本来就不是啥可靠玩意,不明白是因为写得少吧
|
6
X_Del 2014 年 2 月 2 日
当然可以用 := 代替赋值用的 = 啦。
|
7
200 2014 年 2 月 3 日
代码只写一次 但是要读很多次 何必为了少打几个字而舍弃代码的直观性
|
8
menic 2014 年 2 月 3 日
Explicit is better than implicit.
Simple is better than complex. Flat is better than nested. Readability counts. There should be one-- and preferably only one --obvious way to do it. |
9
workaholic 2014 年 2 月 3 日 via Android
语言设计者说过,代码越少,错误越少
|
10
FrankFang128 2014 年 2 月 3 日 via Android
Python 真明智
|
11
ericls 2014 年 2 月 3 日 via Android
为毛为不直接if func1():
|
12
dorentus 2014 年 2 月 3 日
|
13
xiaket 2014 年 2 月 3 日
真不喜欢这种方便, 在有赋值表达式的语言里也不会这么写...
|
14
menic 2014 年 2 月 3 日
@dorentus python提倡的和现实确实不同 但是语法是一个语言比较纯粹的东西 编译器和类库等比较偏实现 就有各种的tradeoff和banlance 就和社会主义国家的理念和现实差距也不小 但是从宪法和章程上 挑不出一点毛病
|
15
blacklaw 2014 年 2 月 6 日
result=(lambda x=func1(...):(x, func2(x))[0] if x else x)()
能实现,但好难读懂阿 |