在 python
中,循环能帮助开发者用更少的代码编写更多逻辑,例如,我要执行十次一摸一样的功能,如果不用循环的情况下,我需要写十次一摸一样的代码,这样会让我们的代码变的更加繁琐,没有一点简洁性和优美性。
既然要写循环,那么肯定要有条件,当满足一定的条件的时候,才会执行循环,就算条件再差,至少也要告诉 python
,我要执行多少次循环,所以循环是有条件的,与流程控制一样,其实可以把循环也看作是流程控制的分支。
循环以 while
关键字开头,当满足条件的时候执行 while
里面的代码,如:
a = 0
while a <= 10 :
print(a)
a += 1
以上例子会依次打印出从 0 ~ 10
的数字,共 11
次,至于缘由是因为,只要变量 a
小于 10
或者 a
等于 10
他都会执行一次循环里面的代码,每次执行的时候我都让 a + 1
,当超出设定的 10
之后,他就等于跳出循环了,所以就不会执行了。
还有一种循环是死循环,就是无法跳出条件的循环叫做死循环,例如上面的例子,换个思路,a <= 10
如果是正确的其实他就是一个 True
所以才会执行循环,死循环,就是让直接把条件设置成 True
那么就一直循环了,如:
a = 0
while True :
print(a)
a += 1
如上方所示,这样 a
的值会无止境的 + 1
,直到计算机内存崩溃死机为止。
所谓的死循环就是无止境的循环,但其实死循环也是可以控制的,在某些条件下如果我不想继续死循环了,其实我还可以直接终止循环,在 while
循环里面给我们提供了两个方法,如:
break
:用于完全结束一个循环,跳出循环体执行循环后面的语句continue
:和 break
相似,区别在于 continue
只是终止本次循环,接着还执行后面的循环,而 break
则是完全终止。
来两个例子,如:
a = 0
while a <=100 :
print(a)
if a == 5 :
break
a += 1
print('循环结束')
执行结果如下:
一旦在一个循环体内部执行有关键字 break
他就会自动结束。
第二个例子:
a = 0
while a <=100 :
print(a)
if a == 5 :
continue
a += 1
print('循环结束')
这是一个非常有意思的结果,结果如下:
实际上他会结果是,从 0 ~ 4
之后,他会陷入一个死循环,然后永远打印出,5
,那是因为执行 continue
之后他立马跳出当前循环,在 continue
后面的 a += 1
永远也不会派上用场,再次执行一次循环,然后因为 a
并没有变成 6
所以他又回到了上一次循环以此继续无限循环下去,直到关闭 python
服务或者电脑死机才会终止。
在 python
中的 while
循环中,其实还支持一个 else
语句,和 if ... else ...
不同,在 python
中 while
里的 else
,是在整个循环运行结束后才会执行,并且中间不能有 break
终止循环,否则跳出循环外,else
则不被执行,如:
a = 0
while a <= 10 :
a += 1
print(a)
else:
print('整个循环语句结束')
print('这是一个循环外的程序')
执行结果如下:
以上运行结果是在正常运行情况下的结果,如果 while
中有 break
终止的话,那么 else
就永远不会执行,而是执行循环外的语句,如:
a = 0
while a <= 10 :
a += 1
if a == 5 :
break
print(a)
else:
print('整个循环语句结束')
print('这是一个循环外的程序')
以上实例运行结果如下:
可以看到如果 while
中有 break
的话,else
里面的程序就不会执行了,而是会跳出整个循环,继续往下执行。
这就是 python
中的 while
循环了。