Python中的流程控制详解


Posted in Python onFebruary 18, 2021

流程控制无非就是if else之类的控制语句,今天我们来看一下Python中的流程控制会有什么不太一样的地方。

while语句

python中的while语句和其他语言没有什么不一样,我使用while语句来编写一个斐波拉赫数列:

In [56]: while x < 10 :
 ...:  print(x)
 ...:  x, y = y, x+y
 ...:
0
1
1
2
3
5
8

if 语句

python中的 if 可以和 elif 或者 else 配合使用:

>>> x = int(input("Please enter an integer: "))
Please enter an integer: 42
>>> if x < 0:
...  x = 0
...  print('Negative changed to zero')
... elif x == 0:
...  print('Zero')
... elif x == 1:
...  print('Single')
... else:
...  print('More')
...
More

if语句很简单,这里就不做过多的介绍。

for语句

Python中的for语句主要用来对序列进行迭代,比如列表或者字符串:

In [57]: ages = [ 10, 14, 18, 20 ,25]

In [58]: for age in ages:
 ...:  print(age)
 ...:
10
14
18
20
25

遍历过程中,为了防止在遍历的时候原序列被修改,我们可以遍历序列的拷贝:

In [59]: for age in ages.copy():
 ...:  print(age)
 ...:
10
14
18
20
25

for语句和range()函数的结合,可以得到不一样的效果。

range()用来生成给定范围内的集合:

In [61]: for age in range(5):
 ...:  print(age)
 ...:
0
1
2
3
4

range()函数还可以带步长作为第三个参数:

In [62]: for age in range(5, 10 , 2):
 ...:  print(age)
 ...:
5
7
9

Range()和len()组合,可以方便的变量列表:

>>> a = ['Mary', 'had', 'a', 'little', 'lamb']
>>> for i in range(len(a)):
...  print(i, a[i])
...
0 Mary
1 had
2 a
3 little
4 lamb

Break

break用来跳出最近的for或者while循环。

要注意的是,for循环可以和else一起使用:

In [64]: for n in range(2, 10):
 ...:  for x in range(2, n):
 ...:   if n % x == 0:
 ...:    print(n, 'equals', x, '*', n//x)
 ...:    break
 ...:  else:
 ...:   print(n, 'is a prime number')
 ...:
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3

循环中的else语句,会在for循环执行完毕,之后执行。如果我们使用break对for循环进行了中断,那么else语句将不会被执行。

Continue

continue用来跳过此次循环中的后面部分,继续执行下一次循环。

还是刚才的例子,我们使用continue进行改装:

In [68]: for n in range(2, 10):
 ...:  for x in range(2, n):
 ...:   if n % x == 0:
 ...:    print(n, 'equals', x, '*', n//x)
 ...:    continue
 ...:  else:
 ...:   print(n, 'is a prime number')
 ...:
2 is a prime number
3 is a prime number
4 equals 2 * 2
4 is a prime number
5 is a prime number
6 equals 2 * 3
6 equals 3 * 2
6 is a prime number
7 is a prime number
8 equals 2 * 4
8 equals 4 * 2
8 is a prime number
9 equals 3 * 3
9 is a prime number

可以看到,在continue中,else语句会一直执行。

Pass

pass表示的是什么都不做。是一个空的执行。

通常我们使用pass作为函数或条件子语句的占位符,表示具体的内容可以在未来进行填充。

可以在while中使用pass:

>>> while True:
...  pass # Busy-wait for keyboard interrupt (Ctrl+C)
...

可以在类中使用pass:

>>> class MyEmptyClass:
...  pass
...

可以在函数中使用pass:

>>> def initlog(*args):
...  pass # Remember to implement this!
...

以上就是Python中的流程控制详解的详细内容,更多关于Python中的流程控制的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python每次处理固定个数的字符的方法总结
Jan 29 Python
python中pass语句用法实例分析
Apr 30 Python
Python三级目录展示的实现方法
Sep 28 Python
Python实现求解括号匹配问题的方法
Apr 17 Python
ubuntu16.04制作vim和python3的开发环境
Sep 23 Python
Python实现的统计文章单词次数功能示例
Jul 08 Python
Python替换月份为英文缩写的实现方法
Jul 15 Python
python中dict使用方法详解
Jul 17 Python
python每5分钟从kafka中提取数据的例子
Dec 23 Python
python selenium操作cookie的实现
Mar 18 Python
Python如何用wx模块创建文本编辑器
Jun 07 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
Mar 04 Python
python爬取豆瓣电影排行榜(requests)的示例代码
Feb 18 #Python
python 爬取腾讯视频评论的实现步骤
Feb 18 #Python
Python之qq自动发消息的示例代码
Feb 18 #Python
Python对excel的基本操作方法
Feb 18 #Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
Feb 18 #Python
Python操作Excel的学习笔记
Feb 18 #Python
手把手教你用Django执行原生SQL的方法
Feb 18 #Python
You might like
十大催泪虐心动漫,你能坚持看到第几部?
2020/03/04 日漫
淘宝ip地址查询类分享(利用淘宝ip库)
2014/01/07 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
2015/03/25 PHP
PHP实现登陆表单提交CSRF及验证码
2017/01/24 PHP
javascript计算当月剩余天数(天数计算器)示例代码
2014/01/09 Javascript
javascript中的this详解
2014/12/08 Javascript
在JavaScript中使用开平方根的sqrt()方法
2015/06/15 Javascript
JS学习之表格的排序简单实例
2016/05/16 Javascript
基于JavaScript实现复选框的全选和取消全选
2017/02/09 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
2017/07/27 Javascript
checkbox:click事件触发span元素内容改变的方法
2017/09/11 Javascript
新手vue构建单页面应用实例代码
2017/09/18 Javascript
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
2017/11/15 Javascript
微信web端后退强制刷新功能的实现代码
2018/03/04 Javascript
对Layer弹窗使用及返回数据接收的实例详解
2019/09/26 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
json.stringify()与json.parse()的区别以及用处
2021/01/25 Javascript
Django中对通过测试的用户进行限制访问的方法
2015/07/23 Python
python监控进程脚本
2018/04/12 Python
python覆盖写入,追加写入的实例
2019/06/26 Python
Python基于OpenCV实现人脸检测并保存
2019/07/23 Python
使用apiDoc实现python接口文档编写
2019/11/19 Python
Python pip配置国内源的方法
2020/02/14 Python
Python使用pdb调试代码的技巧
2020/05/03 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
HTML5 Canvas实现360度全景图的示例代码
2018/01/29 HTML / CSS
台湾时尚彩瞳专门店:imeime
2019/08/16 全球购物
20年同学聚会感言
2014/02/03 职场文书
设立有限责任公司出资协议书
2014/11/01 职场文书
2014年妇产科工作总结
2014/12/08 职场文书
2015年个人实习工作总结
2014/12/12 职场文书
2015年大学生暑期实习报告
2015/07/13 职场文书
2016年十一促销广告语
2016/01/28 职场文书
坚持不是死撑,更重要的是心态
2019/08/19 职场文书