《Python编程快速上手-让繁琐工作自动化》——第2章 控制流


前言

文章仅为学习记录,便于以后查看使用。

1 布尔值(Boolean)

“布尔” 数据类型只有两种值: True 和 False。

在作为 Python 代码输入时,布尔值 True 和 False不像字符串, 两边没有引号,它们总是以大写字母 T 或 F 开头, 后面的字母小写。

像其他值一样,布尔值也用在表达式中, 并且可以保存在变量中。如果大小写不正确, 或者试图使用 True 和 False 作为变量名, Python 就会给出错误信息。
在这里插入图片描述

2 比较操作符

“比较操作符” 比较两个值,求值为一个布尔值。
在这里插入图片描述

这些操作符根据给它们提供的值, 求值为 True 或 False。

==和!=操作符实际上可以用于所有数据类型的值
整型或浮点型的值永远不会与字符串相等
<、 >、 <=和>=操作符仅用于整型和浮点型值

3 布尔操作符

3 个布尔操作符(and、or 和 not)用于比较布尔值。它们将这些表达式求值为一个布尔值。

3.1 二元布尔操作符(and和or)

and 和 or 操作符总是接受两个布尔值(或表达式)。
在这里插入图片描述
在这里插入图片描述

3.2 not 操作符

not 操作符只作用于一个布尔值(或表达式)。
在这里插入图片描述

4 混合布尔操作和比较操作符

比较操作符求值为布尔值,可以和布尔操作符一起,在表达式中使用。
也可以在一个表达式中使用多个布尔操作符,与比较操作符一起使用。

5 控制流两个元素

控制流语句的开始部分通常是“条件”,接下来是一个代码块,称为“子句”。

5.1 条件

条件总是求值为一个布尔值,True 或 False。控制流语句根据条件是 True 还是 False,来决定做什么。
几乎所有的控制流语句都使用条件。

5.2 代码块

代码块规则

  1. 缩进增加时,代码块开始。
  2. 代码块可以包含其他代码块。
  3. 缩进减少为零,或减少为外面包围代码块的缩进,代码块就结束了。

6 程序执行

“程序执行”(或简称“执行”)这一术语是指当前被执行的指令。

7 控制流语句

7.1 if 语句

if 语句包含以下部分

  1. if 关键字
  2. 条件(即求值为 True 或 False 的表达式)
  3. 冒号
  4. 在下一行开始,缩进的代码块(称为 if 子句)

所有控制流语句都以冒号结尾,后面跟着一个新的代码块(子句)

7.2 else 语句

else 语句中包含下面部分:

  1. else 关键字
  2. 冒号
  3. 在下一行开始,缩进的代码块(称为 else 子句)

7.3 elif 语句

elif 语句总是包含以下部分:

  1. elif 关键字
  2. 条件(即求值为 True 或 False 的表达式)
  3. 冒号
  4. 在下一行开始,缩进的代码块(称为 elif 子句)

如果有一系列的 elif 语句,仅有一条或零条子句会被执行。一旦一个语句的条件为 True,剩下的 elif 子句会自动跳过
对于 elif 语句,次序是很重要的。

可以选择在最后的 elif 语句后面加上 else 语句。在这种情况下,保证至少一个子句(且只有一个)会执行。如果每个 if 和 elif 语句中的条件都为 False,就执行else 子句。

次序规则:首先,总是只有一个 if 语句。所有需要的 elif 语句都应该跟在 if 语句之后。其次,如果希望确保至少一条子句被执行,在最后加上 else 语句。

7.4 while 循环语句

while 语句总是包含下面几部分:

  1. 关键字
  2. 条件(求值为 True 或 False 的表达式)
  3. 冒号
  4. 从新行开始,缩进的代码块(称为 while 子句)

if 子句结束时,程序继续执行 if 语句之后的语句。但在 while 子句结束时,程序执行跳回到 while 语句开始处
while 子句常被称为“while 循环”,或就是“循环”。

7.5 break 语句

如果执行遇到 break 语句,就会马上退出 while 循环子句。
在代码中,break 语句仅包含 break 关键字。

7.6 continue 语句

continue 语句用于循环内部。
如果程序执行遇到 continue语句,就会马上跳回到循环开始处,重新对循环条件求值(这也是执行到达循环末尾时发生的事情)。

陷在无限循环中该怎么办
按 Ctrl-C。这将向程序发送 KeyboardInterrupt 错误,导致它立即停止。

7.7 for 循环和 range()函数

可以通过 for 循环语句和 range()函数实现一个代码块执行固定次数。

在用于条件时,0、0.0 和’ '(空字符串)被认为是 False,其他值被认为是 True
在这里插入图片描述

for语句总是包含以下部分:

  1. for 关键字
  2. 一个变量名
  3. in 关键字
  4. 调用 range()方法,最多传入 3 个参数
  5. 冒号
  6. 从下一行开始,缩退的代码块(称为 for 子句)

可以在循环中使用 continue 语句。
continue 语句将让 for 循环变量继续下一个值,就像程序执行已经到达循环的末尾并返回开始一样。
只能在 while 和for 循环内部使用 continue 和 break 语句

7.8 range()

7.8.1 基础用法

第一个参数是 for 循环变量开始的值,第二个参数是上限,但不包含它,也就是循环停止的数字。
在这里插入图片描述
输出:
在这里插入图片描述

7.8.2 三参数

range()函数也可以有第三个参数。前两个参数分别是起始值和终止值,第三个参数是“步长”。步长是每次迭代后循环变量增加的值。
在这里插入图片描述
输出:
在这里插入图片描述

7.8.3 负数步长

可以用负数作为步长参数,让循环计数逐渐减少,而不是增加。
在这里插入图片描述
输出:
在这里插入图片描述

8 导入模块

import 语句包含以下部分:

  1. import 关键字
  2. 模块的名称
  3. 可选的更多模块名称,之间用逗号隔开

random.ranint()函数

random.randint()函数调用求值为传递给它的两个整数之间的一个随机整数。
在这里插入图片描述
输出:
在这里插入图片描述

from import 语句

import 语句的另一种形式包括 from 关键字,之后是模块名称,import 关键字和一个星号,例如 from random import *。
使用这种形式的 import 语句,调用 random模块中的函数时不需要 random.前缀。

9 提前结束程序

通过调用 sys.exit()函数,可以让程序终止或退出。
这个函数在 sys 模块中。

在这里插入图片描述
输出:
在这里插入图片描述

10 课后题(选)

12

在 for 循环中, range(10)、 range(0, 10)和 range(0, 10, 1)之间的区别是什么?


效果一样,都是打印出0-9的数字。range(10)调用产生的范围是从0直到(但不包括)10,range(0,10)明确告诉循环从0开始,range(0,10,1)明确告诉循环每次迭代变量加1。

附加题

round()和 abs()函数的作用。


1.round()函数
round() 方法返回浮点数x的四舍五入值。
语法:round(x, n)
参数说明:round(数值表达式, 数值表达式——表示从小数点位数)
举例:round(80.23456, 2) = 80.23
特别注意:round(2.355, 2) = 2.35;round(2.675, 2) = 2.67 原因

2.abs()函数
abs() 函数返回数字的绝对值。
语法:abs(x)
参数说明:abs(数值表达式)
举例:abs(-45) = 45;abs(1+1j) = 1.4142135623730951
注意:若参数为复数,则返回复数的绝对值(此复数与它的共轭复数的乘积的平方根),就是 (a2+b2) 开根。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值