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中利用函数装饰器实现备忘功能
Mar 30 Python
python分布式环境下的限流器的示例
Oct 26 Python
python通过elixir包操作mysql数据库实例代码
Jan 31 Python
Python下载网络小说实例代码
Feb 03 Python
Python3.7 新特性之dataclass装饰器
May 27 Python
使用Python的turtle模块画国旗
Sep 24 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
Feb 18 Python
python对数组进行排序,并输出排序后对应的索引值方式
Feb 28 Python
python tkinter 设置窗口大小不可缩放实例
Mar 04 Python
Python使用20行代码实现微信聊天机器人
Jun 05 Python
Python使用eval函数执行动态标表达式过程详解
Oct 17 Python
Python爬虫之用Xpath获取关键标签实现自动评论盖楼抽奖(二)
Jun 07 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
基于initPHP的框架介绍
2013/04/18 PHP
杨氏矩阵查找的JS代码
2013/03/21 Javascript
Javascript核心读书有感之语句
2015/02/11 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
2015/03/04 Javascript
javascript中的previousSibling和nextSibling的正确用法
2015/09/16 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
jquery+ajax实现直接提交表单实例分析
2016/06/17 Javascript
Bootstrap表单使用方法详解
2017/02/17 Javascript
javascript九宫格图片随机打乱位置的实现方法
2017/03/15 Javascript
Vue2几种常见开局方式详解
2017/09/09 Javascript
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
详解实现一个通用的“划词高亮”在线笔记功能
2019/04/23 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
2019/05/21 Javascript
layui输入框中只允许输入整数的实现方法
2019/09/18 Javascript
[51:53]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第二场 1月24日
2021/03/11 DOTA
浅谈Python 中整型对象的存储问题
2016/05/16 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
2017/08/08 Python
Python pandas常用函数详解
2018/02/07 Python
Django数据库类库MySQLdb使用详解
2019/04/28 Python
Python实现TCP通信的示例代码
2019/09/09 Python
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
2019/10/30 Python
python matplotlib折线图样式实现过程
2019/11/04 Python
python-OpenCV 实现将数组转换成灰度图和彩图
2020/01/09 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
python中threading开启关闭线程操作
2020/05/02 Python
Keras 中Leaky ReLU等高级激活函数的用法
2020/07/05 Python
购买中国最好的电子产品:Geekbuying
2018/03/13 全球购物
美国战术品牌:5.11 Tactical
2019/05/01 全球购物
市场营销职业生涯规划书范文
2014/01/12 职场文书
公务员培训自我鉴定
2014/02/01 职场文书
迟到早退检讨书
2014/02/10 职场文书
《自选商场》教学反思
2014/02/14 职场文书
刊首寄语大全
2014/04/11 职场文书
广告宣传策划方案
2014/05/21 职场文书
JVM之方法返回地址详解
2022/02/28 Java/Android
一次Mysql update sql不当引起的生产故障记录
2022/04/01 MySQL