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排序方法实例分析
Apr 30 Python
Python实现对字符串的加密解密方法示例
Apr 29 Python
Python实现注册登录系统
Aug 08 Python
基于pandas将类别属性转化为数值属性的方法
Jul 25 Python
Python标准库shutil用法实例详解
Aug 13 Python
对Pyhon实现静态变量全局变量的方法详解
Jan 11 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
Apr 26 Python
详解Python传入参数的几种方法
May 16 Python
Django 简单实现分页与搜索功能的示例代码
Nov 07 Python
Pytorch之contiguous的用法
Dec 31 Python
关于matplotlib-legend 位置属性 loc 使用说明
May 16 Python
Python基础之元编程知识总结
May 23 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个人网站架设连环讲(一)
2006/10/09 PHP
php文件缓存方法总结
2016/03/16 PHP
对laravel in 查询的使用方法详解
2019/10/09 PHP
[Web]防止用户复制页面内容和另存页面的方法
2009/02/06 Javascript
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
2009/12/27 Javascript
从零开始学习jQuery (十) jQueryUI常用功能实战
2011/02/23 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
2011/10/27 Javascript
jQuery实现带动画效果的二级下拉导航方法
2015/03/11 Javascript
JScript中的条件注释详解
2015/04/24 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
jquery实现可关闭的倒计时广告特效代码
2015/09/02 Javascript
跟我学习javascript的var预解析与函数声明提升
2015/11/16 Javascript
JavaScript动态插入CSS的方法
2015/12/10 Javascript
浅谈Angular中ngModel的$render
2016/10/24 Javascript
angularjs使用directive实现分页组件的示例
2017/02/07 Javascript
Angular 4.x中表单Reactive Forms详解
2017/04/25 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
2017/11/07 Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
2018/01/16 Javascript
Jquery的autocomplete插件用法及参数讲解
2019/03/12 jQuery
深入了解query和params的使用区别
2019/06/24 Javascript
完美解决通过IP地址访问VUE项目的问题
2020/07/18 Javascript
如何在JS文件中获取Vue组件
2020/09/16 Javascript
python使用 HTMLTestRunner.py生成测试报告
2017/10/20 Python
Mysql数据库反向生成Django里面的models指令方式
2020/05/18 Python
python 实现 hive中类似 lateral view explode的功能示例
2020/05/18 Python
Python 如何反方向迭代一个序列
2020/07/28 Python
css3绘制百度的小度熊
2018/10/29 HTML / CSS
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
企业治理工作自我评价
2013/09/26 职场文书
市场营销个人求职信范文
2014/02/02 职场文书
电子信息工程专业推荐信
2014/02/14 职场文书
竞选班干部演讲稿
2014/04/24 职场文书
2015年宣传思想工作总结
2015/05/22 职场文书
《为人民服务》教学反思
2016/02/20 职场文书
pandas提升计算效率的一些方法汇总
2021/05/30 Python