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

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

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

for循环

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

for循环分为两个部分 −

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

循环体 − 循环体包含每次迭代执行的语句。

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

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

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

  • 只进行一次初始化,并且不会重复。

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

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

语法

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

示例

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

# 输入列表
inputList = [10, 20, 30, 40, 50]
print("输入列表元素:")
# 使用for循环遍历列表中的所有元素
for element in inputList:
   # 打印列表中的每个元素
   print(element)

输出

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

输入列表元素:
10
20
30
40
50

while循环

当一个条件为真时,运行单个语句或一组语句的循环。此循环由关键字“while”表示。因为在while循环的开始处测试条件,所以它也称为预测试循环。

  • 初始化和条件检查在循环开始时进行。

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

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

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

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

语法

while ( condition) {
   statements;
   //循环体
}

示例

以下程序使用while循环打印所有列表元素 −

# 初始化一个值为1的虚拟变量
i = 1
# 循环直到条件不成立
while i < 10:
   # 打印上述变量的当前值
   print(i)
   # 将i的值增加1
   i += 1 

输出

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

1
2
3
4
5
6
7
8
9

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

当我们 知道 迭代次数时,使用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
.
.
.
.
无限次运行

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

while循环 − 在以下示例中,循环将无限次运行。

例子

while True:
   print("TutorialsPoint")

输出

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

TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
.
.
.
.
无限次运行

微分表

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

结论

在本文中,我们学习了for循环和while循环之间的差异,以及如何通过示例来使while和for循环工作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程