2016-04-16 60 views
0

考虑以下for循环:在python中我们称之为什么?

for x in range(0, 3): 
    print "We're on time %d" % (x) 

我似乎无法找到在该x for循环的正确名称。我知道它本质上是一种任意占位符,但如果有人知道,我会对知道正确的名字感兴趣。

+0

不明白你的意思。 X是一个局部变量,只能在for循环中访问。 “索引”可能是? – Jorge

+0

@Jorge迭代变量局限于*函数*,而不仅仅是循环。它也可以在循环之外访问,并且可以在for循环之前定义。在3.x中的理解情况是不同的。 –

回答

1

正确的名称是“迭代变量”,又名“迭代VAR”如果你不介意的语法错误。

-4

这是一个变量,可能使您更容易理解当您查看生成器格式的循环。

Generator image

+4

'x'不是[迭代器](https://docs.python.org/3/glossary.html#term-iterator)。 – vaultah

+2

迭代器是完全不同的野兽。 – Laurent

+1

你的编辑不是一个很大的答案,但它肯定是更正确的。 – miradulo

0

很明显,x只是一个变量,因为它在for循环的每次迭代中都是变化的。其变化范围是在(0,3),以及用于每次迭代的值是从0到2(局部变量/迭代VAR)

1

在Python 2 doc的语法给出:

for_stmt ::= "for" target_list "in" expression_list ":" suite 
       ["else" ":" suite] 

然后:

该套件可以分配到在目标列表中的变量(S);

在你的例子所以x是一个变量。

Python的3 version的措辞略有不同:

for循环,使分配到目标列表中的变量(一个或多个)。”

但是你可以看到,它仍然呼吁他们的变量。

1

x是一个变量,或者“迭代变量”,如果你愿意,这对于一个python for环为可迭代的每个单独部件的占位符(基本上容器以保存一个数据类型的一个任意数) ,并且range()是一个迭代器(与之前版本的python相反,它是一个列表),它返回其唯一的可迭代数据类型,从功能上讲,就像一个列表,其中每个成员在用于保存内存后被销毁。

相关问题