为什么python FOR循环没有控制结构?

Geo*_*ton 4 python loops for-loop

在Java中,我们可以像这样使用FOR循环

for (i = 0; i < 10; i += 1) {

}
Run Code Online (Sandbox Code Playgroud)

然而,这在Python中是不可能的; FOR只能用于"foreach"意义,循环遍历可迭代中的每个元素.

为什么在Python中省略了FOR循环的控制结构?

rob*_*off 8

Python的Zen说"应该有一个 - 最好只有一个 - 这样做的方式."Python已经有了这样做:

for i in xrange(10):
    pass
Run Code Online (Sandbox Code Playgroud)

如果您想明确所有部分,您也可以这样做:

for i in xrange(0, 10, 1):
    pass
Run Code Online (Sandbox Code Playgroud)

因为它已经有了"明显"的方法,所以添加另一种方式将是不合理的.(那会是"nez"吗?)

(注意:在Python 3中,使用range而不是xrange.)

C风格的for循环具有更大的灵活性,但最终你可以用Python while(或者C语言while)编写一个等效的循环,它不仅触及"一个明显的方法"原则,而且还触及"简单比复杂更好".其他.这当然是品味问题 - 在这种情况下,Guido van Rossum的品味.