python的循环语句有哪些_python的循环语句
python的循环语句有两种:for 和 while,for循环是对可迭代对象进⾏迭代并处理,因此for的对象是⼀个可以迭代的对象,⽽while循环的条件则是⼀个布尔值可以是⼀个返回布尔值的表达式。
for循环
for循环是⼀个有限次的循环,其形式是:for ... in ... , 与保留字in⼀起使⽤,⽤于取出可迭代对象的值。
因为for循环的对象必须是⼀个可迭代对象,那么怎么确定它是否可以for循环呢?
1、python的⼀些基本数据类型: str、list、tuple、dict、set
2、对于其他对象,可以使⽤⼀下⽅法:
from collections importIterable
isinstance('对象',Iterable)
注: isinstance是判断对象是否为该类的实例化,⽽Iterable这个抽象基类提供了⼀个 __subclasshook_
_⽅法,__subclasshook__⽅法的作⽤:只要对象可以有__next__和__inter__就能返回True。所以⽤isinstance可以判断任何可迭代对象,同时这应该也是⼀个较好的⽅法。
确定了是可以迭代的对象就可以进⾏for循环了,其格式如下
for 变量 in可迭代对象:<;代码块>
其中变量⽤于可迭代对象迭代出来的值,变量可以是多个,若变量为多个时,变量之间与迭代值之间怎么取值,是通过解包的标准实现的。⽽当可迭代对象为对格式,python解释器会把其当成⼀个元组刑如:(obj1, obj2, obj3),个⼈觉得这样做没有什么意义。
for i in range(12): #range 函数是产⽣⼀个迭代器,详细可以去看基本内置函数
print(i)>>### 结果 >>>
"""0
1
2
3
4
5
6
7
8
9
10
11"""
注:假如你已经知道了什么是可迭代对象的话,那么应该知道按照可迭代协议规定,当迭代到最后⼀个元素时,解释器会抛出StopIteration异常。但在这⾥for循环去没有抛出异常,这是为什么呢?很简单,for循环内部已经做了异常处理了。
while循环
while是指当条件为True时,才执⾏代码块,假如⼀直为True的话就会⼀直执⾏。
其格式为
while <;条件>:<;代码块>
下⾯展⽰⼀个简单的图⽚作为演⽰
注:图⽚来⾃于菜鸟教程
上图表⽰,只⽤当a⼩于10的时候才会执⾏while⾥⾯的代码块
在循环体内使⽤的关键字 —— break、continue
break
break的作⽤是跳出当前循环
a = 1
whileTrue:
a+= 1
print(a)if a == 3: break
#2#3
上述的代码,当a=3时就会跳出循环,对于多层循环来说就是跳出本层循环
a = 1
while a < 5: # 循环1print(a)
a+= 2
whileTrue: # 循环2break
print("break .....")#1#break .....#3#break .....
这个列⼦说明了,break只会跳出当前层的代码(循环2),⽽不能退其外层循环(循环1)continue
continue的作⽤于break的不同:跳过continue之后的代码, 注意:不会跳出循环
a = 1
while a < 5:
a+= 1
if a == 3:print("continue .....")continue
print(a)#2#continue .....#4#5
else
else在循环语句中⼀般与while搭配使⽤,但也可以与for使⽤。我想在循环时引⼊else的⽬的仅是:在退出循环时进⾏⼀些处理,因为此时else内可以使⽤while和for中的局部变量,⽽不 需要定义全局变量来保存⼀些只使⽤⼀次的值。
while
i =0while i < 5:
i+= 1
print(f"while {i}")else:print("end", "i = %d" % i)
菜鸟教程python函数for
for i in range(10):print(i)else:print(i)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
正则表达式和re库(菜鸟教程)
下一篇 »
发表评论