在Python中for循环和while循环的区别

在Python中for循环和while循环的区别

在本篇文章中,我们将了解“for”循环和“while”循环的区别。

for循环

for循环是一种控制流语句,用于执行预定义次数的代码。在这个控制流语句中使用的关键字是“for”。当循环次数已知时,使用for循环。

for循环分为两个部分−

头部 −这部分指定了循环的迭代。在头部部分,还声明了循环变量,告诉循环体正在执行的迭代是哪个。

体部 −体部分包含每次迭代执行的语句。

  • 初始化、条件检查和迭代语句在循环开始时编写。

  • 仅在循环次数事先已知时使用。

  • 如果在“for”循环中未提及条件,则循环将无限次迭代。

  • 初始化只能执行一次,不会重复执行。

  • 迭代语句在开始时编写。

  • 因此,在循环中的所有语句都执行完毕后,它只执行一次。

语法

for(initialization; condition; iteration){
   //body of the 'for' loop
}

示例

以下程序使用for循环打印出所有的列表元素 –

# input list
inputList = [10, 20, 30, 40, 50]
print("Input list elements:")
# traversing through all elements of the list using for loop
for element in inputList:
   # printing each element of the list
   print(element)

输出

在执行时,上述程序将生成以下输出内容 –

Input list elements:
10
20
30
40
50

While循环

一个根据 true 条件运行单个语句或一组语句的循环。该循环由关键字”while”表示。当迭代次数未知时,使用while循环。该语句会重复执行直到布尔值为 false 。由于条件在 while 循环开始时被测试,因此它也被称为前测试循环。

  • 初始化和条件检查在循环开始时完成。

  • 仅在迭代次数未知时使用。

  • 如果在while循环中未提供条件,则会导致编译错误。

  • 如果在检查条件时进行初始化,则每次循环迭代都会进行初始化。

  • 迭代语句可以在循环的任何位置编写。

语法

while ( condition) {
   statements;
   //body of the loop
}

示例

以下程序使用for循环打印出所有列表元素 –

# Initializing a dummy variable with 1
i = 1
# Iterate until the given condition is true
while i < 10:
   # printing the current value of the above variable
   print(i)
   # incrementing the value of i value by 1
   i += 1 

输出

执行后,上述程序将生成以下输出 −

1
2
3
4
5
6
7
8
9

何时使用for循环和while循环?

当我们知道迭代的次数,也就是需要执行语句的次数时,我们使用for循环。这就是为什么在初始化for循环时,我们必须定义结束点。

当迭代次数未知时,我们使用while循环。当我们需要通过条件而不是次数来结束循环时,我们使用while循环。在这种情况下,我们不需要事先知道条件。这就是为什么我们可以在循环的初始化中使用布尔表达式。

没有条件时

如果在for循环和while循环中没有指定条件,循环将无限迭代。

在没有条件的情况下,以下是for循环和while循环之间的区别:

For循环 - 在下面的示例中,循环将无限次运行。

示例

l = [1]
for m in l:
   print("TutorialsPoint")
   l.append(m)

输出

在执行上述程序时,将生成以下输出结果:

TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
.
.
.
.
runs infinite times

我们从一个列表开始,并用一个随机值初始化它。然后,使用for循环和in运算符,我们遍历列表的元素。在循环内部,它将打印一些随机文本,然后我们再添加一个元素到列表中,所以由于新元素的存在,for循环再次执行。通过这种方式,循环无限次执行。

While循环 − 在下面的示例中,循环将无限次运行。

示例

while True:
   print("TutorialsPoint")

输出

在执行上述程序时,将会生成以下输出-

TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
.
.
.
.
runs infinite times

不同化表

基础比较 for循环 while循环
关键词 使用关键词 for 使用关键词 while
用途 当迭代次数已知时使用for循环。 当迭代次数未知时使用while循环。
条件缺失 在条件缺失的情况下,循环无限次执行。 在条件缺失的情况下,返回编译时错误。
初始化方式 一旦完成,就无法重复。 在while循环中,可以在每次迭代时重复初始化。
函数 为了迭代,使用range或xrange函数。 在while循环中没有这样的函数。
基于迭代的初始化 在循环开始时进行。 在while循环中,可以在循环体的任何位置进行。
生成器支持 Python的for循环可以迭代生成器。 while循环不能直接迭代生成器。
速度 for循环比while循环快。 相对于for循环来说,while循环较慢。

结论

在这篇文章中,我们学习了 forwhile 循环之间的区别,以及通过例子了解了 whilefor 循环的工作原理。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程