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中使用PDB库调试程序
Apr 05 Python
Python实现冒泡排序的简单应用示例
Dec 11 Python
python3实现跳一跳点击跳跃
Jan 08 Python
python快速建立超简单的web服务器的实现方法
Feb 17 Python
Pycharm 创建 Django admin 用户名和密码的实例
May 30 Python
python实现批量解析邮件并下载附件
Jun 19 Python
python人民币小写转大写辅助工具
Jun 20 Python
Window系统下Python如何安装OpenCV库
Mar 05 Python
python自定义函数def的应用详解
Jun 03 Python
selenium切换标签页解决get超时问题的完整代码
Aug 30 Python
pycharm专业版远程登录服务器的详细教程
Sep 15 Python
想学画画?python满足你!
Dec 24 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
PHP判断文章里是否有图片的简单方法
2014/07/26 PHP
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
2008/09/27 Javascript
jquery select选中的一个小问题
2009/10/11 Javascript
再论Javascript下字符串连接的性能
2011/03/05 Javascript
一个挺有意思的Javascript小问题说明
2011/09/26 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
2013/06/12 Javascript
js中各种类型的变量在if条件中是true还是false
2014/07/16 Javascript
JavaScript通过事件代理高亮显示表格行的方法
2015/05/27 Javascript
javascript中传统事件与现代事件
2015/06/23 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
AngularJS入门(用ng-repeat指令实现循环输出
2016/05/05 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
2016/12/15 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
Webpack 之 babel-loader文件预处理器详解
2018/03/23 Javascript
NodeJs操作MongoDB教程之分页功能以及常见问题
2019/04/09 NodeJs
vue 使用原生组件上传图片的实例
2020/09/08 Javascript
Vue实现图书管理案例
2021/01/20 Vue.js
[43:24]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS Liquid
2018/03/30 DOTA
python创建只读属性对象的方法(ReadOnlyObject)
2013/02/10 Python
Python ValueError: invalid literal for int() with base 10 实用解决方法
2015/06/21 Python
python中模块的__all__属性详解
2017/10/26 Python
python获取代理IP的实例分享
2018/05/07 Python
使用python实现ftp的文件读写方法
2019/07/02 Python
Python内置加密模块用法解析
2019/11/25 Python
如何使用Python发送HTML格式的邮件
2020/02/11 Python
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
Marlies Dekkers内衣法国官方网上商店:国际知名的荷兰内衣品牌
2019/03/18 全球购物
班组长安全职责
2014/01/05 职场文书
亲子拓展活动方案
2014/02/20 职场文书
十佳标兵事迹材料
2014/08/18 职场文书
中秋节慰问信
2015/02/15 职场文书
会计专业求职信范文
2015/03/19 职场文书
本科毕业论文答辩稿
2015/06/23 职场文书
学生会部长竞选稿
2015/11/19 职场文书
Win11安装受阻怎么办? Windows11安装问题与解决方案汇总
2021/11/21 数码科技