在Python中,带有“range”的for循环是如何工作的?
有人能给我解释一下为什么上面的代码打印1-100吗?我知道range函数不包括指定范围内的最后一个数字,但是,语法的“number”部分是什么 我更习惯于C++和java,我在这里编写代码:在Python中,带有“range”的for循环是如何工作的?,python,Python,有人能给我解释一下为什么上面的代码打印1-100吗?我知道range函数不包括指定范围内的最后一个数字,但是,语法的“number”部分是什么 我更习惯于C++和java,我在这里编写代码: for number in range(1,101): print number (i=1;i
for number in range(1,101):
print number
(i=1;i<101;i++)的{
系统输出打印LN(i);
i++;
}
那么“数字”到底是什么呢?我确信我对这个问题的研究太深入了,有一个简单的问题。
number
相当于C循环中的I
,也就是说,它是一个保存每个循环迭代值的变量
将Python代码简单地转换为C将产生如下结果:
for (i = 1; i < 101; i++) {
System.out.println(i);
i++;
}
for(int number=1;number<101;number++){
printf(“%d\n”,数字);
}
说明:
范围([开始],停止[,步骤])
这是一个多功能的创建
包含算术运算的列表
进步。它是最常用的语言
对于循环。论据必须清楚明了
整数。如果步骤参数为
省略,默认为1。如果
忽略start参数,它是默认值
到0。完整表单返回一个
纯整数[开始,开始+步,
开始+2*步,…]。如果步骤是
肯定的,最后一个元素是
最大启动+i*步数小于
停止如果步骤为负,则为最后一步
元素是最小的开始+i*
比停止大一步。一步不能走
为零(否则会引发ValueError)
编辑:您可能还想查看。
编辑:所以基本上:
for (int number = 1; number < 101; number++) {
printf("%d\n", number);
}
数字是一个变量,范围中的每个值都放置在该变量中
range实际上返回一个迭代器,for负责使它在该范围内前进。range是数字1到100的列表
number
然后引用该列表中的每个对象正如JG所说,number是您的变量(很像C代码中的i
)。Python中的for循环实际上就像C语言中的Frach循环(我认为Visual C++也有它)。基本上,它在容器上迭代。因此,您也可以将该语法用于列表:
for ( start ; stop ; step )
range( start, stop, step ) // where start and step are optional
范围对象的行为有点像容器,包含A和b之间的所有数字。对于在面向对象或过程语言(c、Java等)方面有经验的Python新程序员来说,这是一个稍微令人困惑的问题 这些语言之间的区别在于Python不支持“计数”——比如C、Java等语言中经常使用的迭代:
fib = [0,1,1,2,3,5,8]
for number in fib:
print number
因此,在您的示例中,“range”[1101]是包含从1到100的所有数字的列表(object_list),“number”是迭代器(object),它取代了Java/C++代码段将在第一个
i++
之前停止执行的每个数字,因为返回值
。谢谢。这使它更容易。递增过程是什么?range()返回一个序列(行为类似于数字列表的抽象),并且“for number in…”被称为“迭代序列”。在C版本中没有精确的序列模拟,但是范围序列元素之间的关系是“递增”发生的地方。
for(i = 0; i < 10; i++){
...
}
for object in object_list
....