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中比较运算符的使用
May 13 Python
rabbitmq(中间消息代理)在python中的使用详解
Dec 14 Python
python中format()函数的简单使用教程
Mar 14 Python
unittest+coverage单元测试代码覆盖操作实例详解
Apr 04 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
Jul 06 Python
使用PyCharm创建Django项目及基本配置详解
Oct 24 Python
Python中字符串与编码示例代码
May 20 Python
详解用python生成随机数的几种方法
Aug 04 Python
Python实现检测文件的MD5值来查找重复文件案例
Mar 12 Python
Python从文件中读取数据的方法步骤
Nov 18 Python
Python自动化测试基础必备知识点总结
Feb 07 Python
python实现学生信息管理系统(面向对象)
Jun 05 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
Chrome Web App开发小结
2014/09/04 PHP
Linux中为php配置伪静态
2014/12/17 PHP
php模拟post上传图片实现代码
2016/06/24 PHP
Fleaphp常见函数功能与用法示例
2016/11/15 PHP
JavaScript 特殊字符
2007/04/05 Javascript
jQuery实现单行文字间歇向上滚动源代码
2013/06/02 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
JavaScript中闭包之浅析解读(必看篇)
2016/08/25 Javascript
AngularJs 动态加载模块和依赖
2016/09/15 Javascript
js 将input框中的输入自动转化成半角大写(税号输入框)
2017/02/16 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
2017/02/17 Javascript
JavaScript之Map和Set_动力节点Java学院整理
2017/06/29 Javascript
浅谈ES6 模板字符串的具体使用方法
2017/11/07 Javascript
javascript少儿编程关于返回值的函数内容
2018/05/27 Javascript
Vue项目数据动态过滤实践及实现思路
2018/09/11 Javascript
小程序如何支持使用 async/await详解
2019/09/12 Javascript
Vue.js中provide/inject实现响应式数据更新的方法示例
2019/10/16 Javascript
vue使用swiper.js重叠轮播组建样式
2019/11/14 Javascript
js+css实现全屏侧边栏
2020/06/16 Javascript
JavaScript实现复选框全选和取消全选
2020/11/20 Javascript
使用Python的Treq on Twisted来进行HTTP压力测试
2015/04/16 Python
python用装饰器自动注册Tornado路由详解
2017/02/14 Python
怀旧香味蜡烛:Homesick
2019/11/02 全球购物
Lookfantastic阿联酋官网:英国知名美妆护肤购物网站
2020/05/26 全球购物
通信工程专业毕业生推荐信
2013/12/25 职场文书
英语专业毕业生自荐信范文
2013/12/31 职场文书
小学生获奖感言范文
2014/02/02 职场文书
带香烟到学校抽的检讨书
2014/09/25 职场文书
人身损害赔偿协议书范本
2014/09/27 职场文书
党员廉洁自律个人总结
2015/02/13 职场文书
卫生院义诊活动总结
2015/05/07 职场文书
学生会宣传部竞选稿
2015/11/21 职场文书
如何使用Maxwell实时同步mysql数据
2021/04/08 MySQL
浅析NIO系列之TCP
2021/06/15 Java/Android
解决xampp安装后Apache无法启动
2022/03/21 Servers
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS