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实现simhash算法实例
Apr 25 Python
浅谈python中的实例方法、类方法和静态方法
Feb 17 Python
几种实用的pythonic语法实例代码
Feb 24 Python
Python学习笔记之open()函数打开文件路径报错问题
Apr 28 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
Jul 30 Python
详解python中自定义超时异常的几种方法
Jul 29 Python
Python Selenium截图功能实现代码
Apr 26 Python
Python中使用threading.Event协调线程的运行详解
May 02 Python
用 Django 开发一个 Python Web API的方法步骤
Dec 03 Python
python使用openpyxl库读写Excel表格的方法(增删改查操作)
May 02 Python
Python实现猜拳与猜数字游戏的方法详解
Apr 06 Python
Python使用pyecharts控件绘制图表
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
PHP一些有意思的小区别
2006/12/06 PHP
8个必备的PHP功能实例代码
2013/10/27 PHP
php单文件版在线代码编辑器
2015/03/12 PHP
php字符串的替换,分割和连接方法
2016/05/23 PHP
实例讲解php实现多线程
2019/01/27 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
2019/06/14 PHP
jQuery Ajax使用 全解析
2010/12/15 Javascript
Javascript中的Callback方法浅析
2015/03/15 Javascript
javascript变量声明实例分析
2015/04/25 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
2015/08/24 Javascript
Angularjs 设置全局变量的方法总结
2016/10/20 Javascript
JS百度地图搜索悬浮窗功能
2017/01/12 Javascript
JS实现的简单拖拽功能示例
2017/03/13 Javascript
简单谈谈关于Angular Cli打包的事
2017/09/05 Javascript
微信小程序App生命周期详解
2018/01/31 Javascript
使用webpack搭建react开发环境的方法
2018/05/15 Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
2019/05/27 jQuery
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
Python魔术方法详解
2015/02/14 Python
python-opencv在有噪音的情况下提取图像的轮廓实例
2017/08/30 Python
python装饰器深入学习
2018/04/06 Python
Python 中 -m 的典型用法、原理解析与发展演变
2019/11/11 Python
Python面向对象编程基础实例分析
2020/01/17 Python
对python中list的五种查找方法说明
2020/07/13 Python
HTML5中如何显示视频呢 HTML5视频播放demo
2013/06/08 HTML / CSS
网络艺术零售业的先驱者:artrepublic
2017/09/26 全球购物
英国玛莎百货美国官网:Marks & Spencer美国
2018/11/06 全球购物
人事部主管岗位职责
2013/12/26 职场文书
电工技术比武方案
2014/05/11 职场文书
2014年秋季开学寄语
2014/08/02 职场文书
医院领导班子查摆问题对照检查材料思想汇报
2014/10/08 职场文书
高中生综合素质自我评价
2015/03/06 职场文书
2019旅游导游工作总结
2019/06/27 职场文书
再次探讨go实现无限 buffer 的 channel方法
2021/06/13 Golang
gojs实现蚂蚁线动画效果
2022/02/18 Javascript
MySQL视图概念以及相关应用
2022/04/19 MySQL