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模拟新浪微博登陆功能(新浪微博爬虫)
Dec 24 Python
Python处理JSON数据并生成条形图
Aug 05 Python
Python生成随机密码的方法
Jun 16 Python
Python使用plotly绘制数据图表的方法
Jul 18 Python
python遍历文件夹下所有excel文件
Jan 03 Python
Python通过OpenCV的findContours获取轮廓并切割实例
Jan 05 Python
Python实现的三层BP神经网络算法示例
Feb 07 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
Jun 24 Python
用python 实现在不确定行数情况下多行输入方法
Jan 28 Python
解决pycharm remote deployment 配置的问题
Jun 27 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
Aug 26 Python
Django之路由层的实现
Sep 09 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
Body是什么,该怎么喝出咖啡里的口感
2021/03/03 咖啡文化
ThinkPHP 模板引擎使用详解
2017/05/07 PHP
JS模拟多线程
2007/02/07 Javascript
javascript实现二分查找法实现代码
2007/11/12 Javascript
js下获取div中的数据的原理分析
2010/04/07 Javascript
js事件(Event)知识整理
2012/10/11 Javascript
js仿百度有啊通栏展示效果实现代码
2013/05/28 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
给js文件传参数(详解)
2014/07/13 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
2014/10/16 Javascript
JavaScript开发人员的10个关键习惯小结
2014/12/05 Javascript
css如何让浮动元素水平居中
2015/08/07 Javascript
基于 Bootstrap Datetimepicker 联动
2017/08/03 Javascript
详解Vue快速零配置的打包工具——parcel
2018/01/16 Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
2018/03/22 Javascript
Vue写一个简单的倒计时按钮功能
2018/04/20 Javascript
JS原型与继承操作示例
2019/05/09 Javascript
JS工厂模式开发实践案例分析
2019/10/17 Javascript
Vue.js中Line第三方登录api的实现代码
2020/06/29 Javascript
vue监听dom大小改变案例
2020/07/29 Javascript
在antd Table中插入可编辑的单元格实例
2020/10/28 Javascript
python实现的用于搜索文件并进行内容替换的类实例
2015/06/28 Python
Python 文件处理注意事项总结
2017/04/10 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
python try except 捕获所有异常的实例
2018/10/18 Python
利用Python模拟登录pastebin.com的实现方法
2019/07/12 Python
Python多进程编程常用方法解析
2020/03/26 Python
linux面试题参考答案(4)
2014/09/21 面试题
2014高考励志标语
2014/06/05 职场文书
社区安全生产月活动总结
2014/07/05 职场文书
2014年十一国庆节爱国演讲稿
2014/09/23 职场文书
初三语文教学计划
2015/01/22 职场文书
幼儿园庆元旦主持词
2015/07/06 职场文书
Python干货实战之八音符酱小游戏全过程详解
2021/10/24 Python
navicat 连接Ubuntu虚拟机的mysql的操作方法
2022/04/02 MySQL
springboot读取nacos配置文件
2022/05/20 Java/Android