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使用在线API查询IP对应的地理位置信息实例
Jun 01 Python
零基础写python爬虫之打包生成exe文件
Nov 06 Python
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
Apr 12 Python
使用Python3制作TCP端口扫描器
Apr 17 Python
python爬取网页内容转换为PDF文件
Jul 28 Python
实例讲解Python中浮点型的基本内容
Feb 11 Python
Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】
May 23 Python
用Python将Excel数据导入到SQL Server的例子
Aug 24 Python
python3 实现函数写文件路径的正确方法
Nov 27 Python
Python读取csv文件实例解析
Dec 30 Python
pytorch实现seq2seq时对loss进行mask的方式
Feb 18 Python
基于Python实现简单学生管理系统
Jul 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类的使用 实例代码讲解
2009/12/28 PHP
PHP版本如何选择?应该使用哪个版本?
2015/05/13 PHP
PHP图片水印类的封装
2017/07/06 PHP
PHP与Perl之间知识点区别整理
2019/03/19 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
JavaScript子窗口调用父窗口变量和函数的方法
2015/10/09 Javascript
Node.js编写组件的三种实现方式
2016/02/25 Javascript
jquery.validate使用详解
2016/06/02 Javascript
js利用正则表达式检验输入内容是否为网址
2016/07/05 Javascript
JavaScript中日期函数的相关操作知识
2016/08/03 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
2017/05/11 Javascript
JavaScript 自定义事件之我见
2017/09/25 Javascript
echarts学习笔记之箱线图的分析与绘制详解
2017/11/22 Javascript
Vue组件Draggable实现拖拽功能
2018/12/01 Javascript
vue-cli+webpack项目打包到服务器后,ttf字体找不到的解决操作
2020/08/28 Javascript
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
django 多数据库及分库实现方式
2020/04/01 Python
使用Python构造hive insert语句说明
2020/06/06 Python
学习Python需要哪些工具
2020/09/04 Python
浅析python 通⽤爬⾍和聚焦爬⾍
2020/09/28 Python
css3 transform属性详解
2014/09/30 HTML / CSS
Mio Skincare英国官网:身体紧致及孕期身体护理
2018/08/19 全球购物
Net Remoting把服务器端激活两种模式
2014/01/22 面试题
最新教师自我评价分享
2013/11/12 职场文书
应届大学毕业生找工作的求职信范文
2013/11/29 职场文书
网络编辑求职信
2014/04/30 职场文书
幼儿园小班个人总结
2015/02/12 职场文书
交通安全月活动总结
2015/05/08 职场文书
常住证明范本
2015/06/23 职场文书
2016三八妇女节校园广播稿
2015/12/17 职场文书
竞聘书的秘诀
2019/04/02 职场文书
2019客服个人年终工作总结范文
2019/07/08 职场文书
2019大学生暑期实习心得总结
2019/08/21 职场文书
详解Laravel制作API接口
2021/05/31 PHP