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 <条件>:<代码块>

下面展示一个简单的图片作为演示

1746488-20191007170334145-1555073306.gif

注:图片来自于菜鸟教程

上图表示,只用当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)

for

for i in range(10):print(i)else:print(i)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值