python没有do { } while结果是不是因为缩进不好处理?

2013-05-18 22:33:29 +08:00
 yakczh
比如 do:
xx
while (condition)

明显头重脚轻,跟优雅的原则相冲突,干脆上来就while True


象正则搜索字符中的代码得写成这样
<pre>
index=0
list=[]
while True:
m=p.search(text,index)
if m==None:
break
match= m.groups()
  .... 
index= m.end()
</pre>
4334 次点击
所在节点    Python
9 条回复
yuelang85
2013-05-18 22:34:12 +08:00
我觉得是没有必要
swulling
2013-05-18 22:36:46 +08:00
do--while能做的while也能做,没必要
yakczh
2013-05-18 22:59:17 +08:00
@swulling 但是要把循环体内的判断条件在外面再写一遍,明显没有do { }while简单

如果能做没必要,for循环能做的While也能做
skydark
2013-05-18 23:50:51 +08:00
VYSE
2013-05-19 02:24:03 +08:00
跟switch一样,作者不会加这种语法的,这也是python的特色
Golevka
2013-05-19 02:31:02 +08:00
break就蛮好的, 写Perl代码时我也更喜欢last而非do .. until
savingralf
2013-05-19 06:47:08 +08:00
@swulling 不知道怎么认为do-while/while-do一样了?
do {
...
} while (false);

while (false) {
...
}
teloon
2013-05-19 14:17:48 +08:00
python的一个哲学是:每件事情只有一种(或少量)实现就够了。这也是很多新手发现python好学的一个原因。

do...while和while...do能完成的事情几乎是一样的,所以作者作者觉得没必要增加another while...do吧。
b1074549
2013-05-19 19:06:33 +08:00
do while会降低可读性,在别的语言里也是不建议用的

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

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

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

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

© 2021 V2EX