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循环。当我们需要根据除重复次数以外的条件结束循环时,使用它。在这种情况下,不需要预先知道条件。这就是为什么我们可以在循环的初始化中使用布尔表达式的原因。

无条件的情况

如果在forwhile循环中未指定条件,则循环将无限次迭代。

在没有条件的情况下,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循环相对较慢。

结论

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

更新于:2023年8月26日

47K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.