python的循环语句
python的循环语句有两种:for 和 while,for循环是对可迭代对象进行迭代并处理,因此for的对象是一个可以迭代的对象,而while循环的条件则是一个布尔值可以是一个返回布尔值的表达式。
for循环
for循环是一个有限次的循环,其形式是:for ... in ... , 与保留字in一起使用,用于取出可迭代对象的值。
因为for循环的对象必须是一个可迭代对象,那么怎么确定它是否可以for循环呢?
1、python的一些基本数据类型: str、list、tuple、dict、set
2、对于其他对象,可以使用一下方法:
from collections import Iterable
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
while True:
a += 1
print(a)
if a == 3: break #
#
上述的代码,当a=3时就会跳出循环,对于多层循环来说就是跳出本层循环
a = 1
while a < 5: # 循环1
print(a)
a += 2
while True: # 循环2
break
print("break ..... ") #
# break .....
#
# break .....
这个列子说明了,break只会跳出当前层的代码(循环2),而不能退其外层循环(循环1)
continue
continue的作用于break的不同:跳过continue之后的代码, 注意:不会跳出循环
a = 1
while a < 5:
a += 1
if a == 3:
print("continue .....")
continue
print(a) #
# continue .....
#
#
else
else在循环语句中一般与while搭配使用,但也可以与for使用。我想在循环时引入else的目的仅是:在退出循环时进行一些处理,因为此时else内可以使用while和for中的局部变量,而不 需要定义全局变量来保存一些只使用一次的值。
while
i = 0
while 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)
python的循环语句的更多相关文章
- Python for 循环语句
Python for 循环语句 Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串. 语法: for循环的语法格式如下: for iterating_var in sequenc ...
- python:while循环语句及练习题
while循环语句及练习题 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务.其基本形式为: while 判断条件: 执行语句... ...
- Python for循环语句
Python for 循环语句:遍历任何序列的项目,可以是字符串.列表.元组.字典.集合对象. 流程图: 第一种: ''' for 迭代对象 in 序列: 代码块(一行语句或多行代码) ''' 第二种 ...
- python基础-循环语句(5)
一.循环语句介绍 一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成 循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环 二.常见的循环形式 while循环 ...
- python 之 循环语句
python提供了for循环和while循环以及嵌套循环(在python中没有do..while循环) while 循环语法: while 判断条件: 执行语句...... 实际案例: numbers ...
- Python学习-7.Python的循环语句-for语句
Python中循环可以使用for语句来实现 list = ['Tom','Lucy','Mary'] for name in list: print(name) 则将会依次输出Tom Lucy Mar ...
- Python从零开始——循环语句
一:Python循环语句知识概览 二:while循环 三:for遍历 四:循环控制
- Python(循环语句与数据类型)
循环语句 对于python来说 基本上循环用的两个 wile 跟静态语言相似 下来是for循环 这个就跟静态语言大大不同了 wile 条件:–>while 循环也就是 当条件为真的时候会一直循环 ...
- python基础-循环语句while
循环语句:while\for\嵌套 循环控制语句:break\continue break:跳出整个循环,不会再继续循环下去 continue:跳出本次循环,继续下一次循环 while循环: coun ...
随机推荐
- 由lwip的mbox中netbuf传递看指针的指针
如果使用netconn API的话,udp接收过程需要用到mbox传递接收的包(传递的是指针) mbox发送过程: api_msg.c中recv_udp中会将接收的包发送给udp的接收mbox sys ...
- 无线网络WPA加密算法基础
2013-11-13 23:08 (分类:网络安全) 对无线没什么认识,总听说有人蹭网,还有卖蹭网器的,于是补充一下知识. 无线加密有两类:WEP WAP,目前采用WEP加密的非常少了,WEP应该只是 ...
- Webpack实战(八):教你搞懂webpack如果实现代码分片(code splitting)
2020年春节已过,本来打算回郑州,却因为新型冠状病毒感染肺炎的疫情公司推迟了上班的时间,我也推迟了去郑州的时间,在家多陪娃几天.以前都是在书房学习写博客,今天比较特殊,抱着电脑,在楼顶晒着太阳,陪着 ...
- 物理机安装ESXI6.7提示No Network Adapters的解决方案
下载好ESXI6.7.iso镜像,写入U盘后,提示No Network Adapters,找不到网卡驱动. 解决办法:需要重新封装ESXI,将对应的网卡驱动嵌入进来. 1.先下载VMware-Powe ...
- vue中子组件触发父组件的方法
网上找了几种方法,下面这两种最实用,最明了 方法一:父组件方法返回是字符串或数组时用这种方法 子组件: <template> <button @click="submit& ...
- ID生成器之——别人家的方案and自家的方案
“叮咚,叮咚……”,微信提示音一声接一声,声音是那么的频繁,有妖气,待俺去看一看. 这天刚吃完午饭,打开微信,发现我们的技术讨论组里有 100 多条未读消息,心想,是不是系统出问题了?怎么消息那么频繁 ...
- Python股票量化 选股操作不好用 完结
这几日,写了一些python的代码,打算来选择股票的, 那么这个思路和开始的一篇文章类似,你会不会被贾跃亭坑?,所以基本的思路也是这样的,举一个简单的例子,就是通过连续几年的ROE数据,和其他的一些财 ...
- robotframework报错
问题一:RobotFramework RIDE在运行测试用例时无法打开谷歌浏览器,原因是1.安装ride时没有安装chromedriver驱动 2.驱动版本与本机浏览器不兼容 解决方法:在pyth ...
- 微软帮助类SqlHelper
using System; using System.Data; using System.Xml; using System.Data.SqlClient; using System.Collect ...
- 处理方法返回值void
1.默认响应效果:根据请求url寻找相应页面 1.1.配置的视图解析器 <!--配置视图解析器--> <bean id="internalResourceViewResol ...