python入门教程(二)——控制流

本教程根据《python编程快速上手》制作,如需转载,请注明出处。

要想明白怎么控制程序流程,首先要知道逻辑表达式。

一、布尔值

虽然整型、浮点型和字符串数据类型有无数种可能的值,但“布尔”数据类型只有两种值:True 和 False

注意:布尔变量字母首字母要大写,后面的字母小写。

二、比较操作符

这个每种语言基本都一样的。

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

注意,整型或浮点型的值永远不会与字符串相等。

<、>、<=和>=操作符仅用于整型和浮点型值。

等号和赋值号的区别:

三、布尔操作符

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

(1)二元操作符

and 和 or 操作符总是接受两个布尔值(或表达式),所以它们被认为是“二元”操作符。

and的真值表:总结一句话:只有两边都为真,结果才为真,否则便为假。

or的真值表:总结一句话:只有两边都为假,结果才为假,否则便为真

(2)not(非)操作符

not的真值表:总结一句话:否定真,便为假;否定假,便为真。

四、混合布尔和比较操作符

and、or 和 not 操作符称为布尔操作符是因为,它们总是操作于布尔值。虽然像 4 < 5 这样的表达式不是布尔值,但可以求值为布尔值。

注意:Python 先求值 not 操作符,然后是 and 操作符,然后是 or 操作符

五、控制流的元素

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

(1)条件

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

(2)代码块

一些代码行可以作为一组,放在“代码块”中。可以根据代码行的缩进,知道代码块的开始和结束。代码块有 3 条规则。

总而言之:代码块和C/C++的大括号的作用差不多,代码块内部为一个整体。

六、控制流语句

(1)if语句

最常见的控制流语句是 if 语句。if 语句的子句(也就是紧跟 if 语句的语句块),将在语句的条件为 True 时执行。如果条件为 False,子句将跳过。

if 语句包含以下部分:

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

所有缩进的前面必有冒号。

(2)else语句

if 子句后面有时候也可以跟着 else 语句。只有 if 语句的条件为 False 时,else子句才会执行

(3)elif语句

虽然只有 if 或 else 子句会被执行,但有时候可能你希望,“许多”可能的子句中有一个被执行。elif 语句是“否则如果”,总是跟在 if 或另一条 elif 语句后面。它提供了另一个条件,仅在前面的条件为 False 时才检查该条件

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

(4)while语句

利用 while 语句,可以让一个代码块一遍又一遍的执行。只要 while 语句的条件为 True,while 子句中的代码就会执行

(5)break语句

如果执行遇到 break 语句,就会马上退出循环子句。

如果是多重循环,break跳出离其最近的一个循环。

(6)continue 语句

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

注意:实际上,只能在 while 和for 循环内部使用 continue 和 break 语句。如果试图在别处使用这些语句,Python 将
报错

(7)for循环和range()函数

如果你想让一个代码块执行固定次数,就用for循环。语法规则如下:

示例程序:

运行结果:

for循环和while循环可以等价转换。

注意:在for循环中使用整数次循环,有时候忘了写range函数,就会出现以下问题:

报的是类型错误,"int"对象是不可迭代的。也就是说“6”的那个位置必须要是一个可以迭代的对象,range的作用就是把整形变得可迭代。

(8)range()函数

此函数有三个参数:第一个参数是迭代的起始位置,此参数可以省略,默认从0开始。第二个参数是迭代的终止位置。不包括终止时候的值。第三个参数是步长,步长是每次迭代后循环变量增加的值。

例子1:

例子2:

可以用负数作为步长参数,让循环计数逐渐减少,而不是增加。

例子3:

七、导入模块

Python 也包括一组模块,称为“标准库”。每个模块都是一个 Python 程序,包含一组相关的函数,可以嵌入你的程序之中。

这和C语言中的头文件,java中里的包意思是一样的。别人已经写好的函数或者对象啥的,保存在一个文件中。你在这声明一下,然后就可以直接调用了。

语法规则:

以random模块为例,说明用法。

首先导入random模块,然后循环5次,打印1-10中间的5个随机整数。

random.randint()函数调用求值为传递给它的两个整数之间的一个随机整数。因为 randint()属于 random 模块,必须在函数名称之前先加上 random。

还有另一种导入模块的语法:import 语句的另一种形式包括 from 关键字,之后是模块名称,import 关键字和一个星号,例如 from random import *。使用这种形式的 import 语句,调用 random模块中的函数时不需要 random.前缀。但是,使用完整的名称会让代码更可读,所以最好是使用普通形式的 import 语句。

八、用 sys.exit()提前结束程序

一般来说,当程序执行到指令的底部时,总是会终止。但是,通过调用 sys.exit()函数,可以让程序终止或退出。因为这个函数在 sys 模块中,所以必须先导入 sys,才能使用它。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值