4. 其他流程控制工具

4.1. if 语句

大多数人都很熟悉的if语句:

if condition1:pass
elif condition2:pass
else condition3:pass

注意python中没有switch或case语句,所以一个 if ... elif ... elif ... 序列可以看作是其他语言中的 switch 或 case 语句的替代。

4.2. for 语句

Python 中的 for 语句并不总是对算术递增的数值进行迭代(如同 Pascal),或是给予用户定义迭代步骤和暂停条件的能力(如同 C),而是对任意序列进行迭代(例如列表或字符串),条目的迭代顺序与它们在序列中出现的顺序一致。

在遍历同一个集合时修改该集合的代码可能很难获得正确的结果。通常,更直接的做法是循环遍历该集合的副本创建新集合

# 遍历副本
for user, status in users.copy().items():if status == 'inactive':del users[user]# 创建新集合
active_users = {}
for user, status in users.items():if status == 'active':active_users[user] = status

4.3. range() 函数

若要遍历一个数字序列,就可以用range()函数。传入参数为range(初值,终值,步长),注意左闭右开,终值不包括在内:

>>> for i in range(0,10,3):
...     print(i)
...
0
3
6
9

range() 所返回的对象在许多方面表现得像一个列表,但实际上却并不是。此对象会在你迭代它时基于所希望的序列返回连续的项,但它没有真正生成列表,这样就能节省空间。

我们称这样对象为 iterable可迭代对象),也就是说,适合作为这样的目标对象:函数和结构期望中从获取连续的项直到所提供的项全部耗尽。

4.4. break 和 continue 语句,以及循环中的 else 子句

break 语句,和 C 中的类似,用于跳出最近的 for 或 while 循环。

注意循环中的else子句和条件判断if中的else不一样,它会在循环耗尽了可迭代对象 (使用 for) 或循环条件变为假值 (使用 while) 时被执行,但不会在循环被 break 语句终止时被执行

相比于if语句中的else,它更像try语句中的elsetry 语句中的 else 子句会在未发生异常时执行,而循环中的 else 子句则会在未发生 break 时执行。

>>> for n in range(2, 10):
...     for x in range(2, n):
...         if n % x == 0:
...             print(n, 'equals', x, '*', n//x)
...             break
...     else:
...         # loop fell through without finding a factor
...         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 循环, 不属于 if 语句。

continue 语句则是借鉴自 C 语言,表示继续循环中的下一次迭代。

4.5. pass 语句

pass 语句什么也不做。当语法上需要一个语句,但程序需要什么动作也不做时,可以使用它:

>>> while True:
...     pass  # 一直忙,等待键盘中断(按Ctrl+C)
...

每天一小时python官方文档学习(二)————流程控制工具相关推荐

  1. 每天一小时python官方文档学习(一)————python的简单介绍

    我们都知道,python的官方文档写得十分详尽,也是每一个学习python的人都绕不开的. 所以从今天开始,我每天都会用一小时学习python的官方文档,按照文档目录的顺序,摘录一些有用的语句,写下一 ...

  2. 每天一小时python官方文档学习(七)————模块与包

    6. 模块 模块是一个包含Python定义和语句的文件,实际上就是一个正常的.py文件.但是作用和普通需要运行的程序不一样,它实际上有点像函数.如果说函数实现了代码的重用,模块则是实现了函数的重用.我 ...

  3. 每天一小时python官方文档学习(四)————数据结构之列表

    终于进入到第五章数据结构部分了,python中常用的容器有列表.元组.集合和字典,今天主要了解的是最为常用的列表. 5. 数据结构 5.1. 列表的更多特性 对于列表的操作有很多,具体操作看官方文档就 ...

  4. 每天一小时python官方文档学习(三)————函数

    上一天看到第四章的一半,介绍了一些常用的流程控制工具,也就是常用语句,主要是if.for.range().break.continue.else和pass.今天把第四章剩下的看完,讲的是如何在pyth ...

  5. 每天一小时python官方文档学习(六)————循环和条件控制的进阶用法

    学习完数据结构之后,我们就能够对之前在第二天中讲过的流程控制工具,添加更多的用法了,这里主要介绍的是for循环语句和if与while条件判断语句. 5.6. 循环的技巧 我们学过的遍历序列for i ...

  6. 每天一小时python官方文档学习(五)————数据结构之元组、集合与字典

    昨天介绍完了最常用的列表,之后就是次常用的元组.集合与字典了. 5.3. 元组和序列 元组和之前讲过的列表有很多共同特性,例如索引和切片操作.实际上,他们是 序列 数据类型(list, tuple, ...

  7. Python官方文档学习心得(第三篇)

    1.定义方法 关键字 def 是方法定义的标志.接下来紧跟方法名和被圆括号所包围的参数列表.方法的主 体语句将在下一行开始并且必须缩进. 方法主体的首句可选择性地是一句字符,用来说明方法的主要功能 例 ...

  8. Python官方文档学习心得(第六篇)

    1.作用域 关键字 global 和 nonlocal会影响变量绑定,因为是全局变量 2.类 因此类可以定义一个名叫_init()的特殊方法,如下: def__init__(self): self.d ...

  9. Python官方文档学习心得(第五篇)

    1.模块 一个模块是包含 python 定义和语句的文件.文件名称是由模块名加上后缀名.py 组成的.在 模块中,模块的名字(可以作为一个字符串)是一个作为全局变量_name_的值的变量 fibo是模 ...

最新文章

  1. Go 语言编程 — 高级数据类型 — 数组
  2. Leetcode 217. 存在重复元素 (每日一题 20210913)
  3. 详解Attention、Tacotron、WaveNet、LPCNet声码器等前沿方法
  4. linux生成表格文件大小,如何为linux中的文件夹生成清单(文件列表及其大小和数量)...
  5. ASP.NET CORE MVC 实现减号分隔(Kebab case)样式的 URL
  6. mysql python 2.7.14_Python2.7.14新手学习
  7. C语言文件的随机读写
  8. 【POJ3415】 Common Substrings (SA+单调栈)
  9. 【SimpleITK】坐标次序问题
  10. mysql为什么limit没用,MySQL是否可以使用LIMIT语法进行子查询?如果没有,为什么?...
  11. java字符串以什么结尾_java怎么判断一个字符串以什么结尾
  12. fiddler电脑抓包和HttpCanary(小黄鸟)手机抓包教程
  13. Object.entries()方法的使用和实现
  14. 什么是 FOUC(无样式内容闪烁)?你如何来避免 FOUC?
  15. C语言实现简易扫雷游戏
  16. Tushare(介绍)
  17. 如何拥有好的精力去做事情?管理精力
  18. 领域搜索算法java_使用JAVA实现算法——禁忌搜索算法解决TSP问题
  19. 水浒传中的108将各是谁
  20. 国家科技奖获奖项目巡礼:创新英雄们这么说

热门文章

  1. 用批处理修复 win10 无法升级的问题
  2. 【计算机图形学】实验:C#语言采用GDI+定义笔刷并填充图形完整实验操作流程
  3. Android Studio开发基础之Service
  4. 剑指offer之分行从上到下打印二叉树
  5. React Native之js调用Android原生使用Callback传递结果给js
  6. linux c之动态打开链接库(dlopen dlsym dlclose)
  7. 女朋友来大姨妈怎么办?
  8. “一边熬夜一边求不要猝死”,90后养生朋克指南,条条扎心!
  9. 【直观理解】一文搞懂RNN(循环神经网络)基础篇
  10. matlab排版形式是什么样子,工作型PPT,图文排版的4种常见样式