[关闭]
@zhangyu756897669 2017-08-18T13:21:31.000000Z 字数 2938 阅读 686

Python 官方文档6.0

python官方文档


Lesson 4 - 流程图,布尔值,比较运算符,布尔运算符

在上篇文章中,你知道单个指令的基础知识,程序只是一系列的说明。但是编程的真正实力不仅仅是样运行(或执行)一个指令。 根据表达式的评估,程序可以决定跳过指令,重复,或选择运行的几个指令之一. 实际上,你几乎不希望你的程序从第一行代码开始,执行每一行,直到最后。控制语句可以决定在哪些条件下执行哪些Python指令。

这些流程控制语句直接对应于流程图中的符号,因此我将提供本章讨论的代码的流程图。 Figure 2-1 显示如果下雨该怎么做的流程图。按照从开始到结束箭头所做的路径。

下雨流程图

在此流程图中,从开始到结束通常有多种方式。计算机程序中的代码行也是如此。 流程图表示具有菱形的这些分支点,而其他步骤用矩形表示。起始和结束步骤用圆角矩形表示。

但是在您了解流控制语句之前,您首先需要学习如何表示是和否选项,您需要了解如何将这些分支点编写为Python代码。为此,让我们来探索布尔值,比较运算符和布尔运算符。

布尔值

整数,浮点和字符串数据类型具有无限数量的可能值,布尔数据类型只有两个值:True和False。 (布尔值大写,因为数据类型以数学家乔治·布尔(George Boole)命名.) 当键入Python代码时,布尔值True和False缺少围绕字符串的引号,并且它们总是以大写T或F开头,其余的单词以小写形式.

  1. spam = True
  2. spam
  1. true
  1. True = 2+2

比较运算符

比较运算符比较两个值,并计算为单个布尔值。 Table 2-1 lists the comparison operators. 表2-1列出了比较运算符。

符号 含义
== 等号
< 小于
> 大于
<= 小于等于
=
大于等于
!= 不等号

这些运算符根据您给出的值评估为True或False。现在让我们尝试一些运算符,从==和!=开始。

  1. 42 == 42
  1. 'hello' = 'hello'
  1. 42 < 100
  1. 82 > 100
  1. myage = 24
  2. myage > 50

布尔运算符

二进制布尔运算符

和and和or是经常使用的两个布尔值(或表达式),因此它们被认为是二进制运算符。如果两个布尔值都为True,则该运算符将一个表达式计算为True;否则,它评估为False。

  1. True and True
  1. True and False
  1. False or False
  1. False or True

NOT 运算符

不同于and 和 or 运算符, not操作符只对一个布尔值进行操作。NOT 运算符在简单计算中被称为相反的布尔值。

  1. not True
  1. not not not not True

混合布尔运算和比较运算符

由于比较运算结果为布尔值,因此可以在布尔运算符的表达式中使用它们。

您还可以在表达式中使用多个布尔运算符,以及比较运算符。

  1. (4 < 5 and (5 < 6)
  2. (4 < 5) and (9 < 6)
  1. (1 == 2) or (2 == 2)
  1. 2 + 2 == 4 and not 2 + 2 == 5 and 2 * 2 == 2 + 2

条件控制语句的要素

条件控制语句通常以称为条件的部分开始,后面跟着一个称为子句的代码块。在了解Python的具体条件控制语句之前,我将介绍一个条件和代码块。

条件

到目前为止,你所看到的布尔表达式都可以被视为条件,这与表达式是一样的;条件在条件控制语句的代码中只是一个更具体的名称。条件总是计算为布尔值True或False。条件控制语句根据其条件是True还是False决定要做什么,几乎每个条件控制语句都使用一个条件。

代码块

Python代码行可以按块组合在一起。您可以知道块的开始和结束于代码行的缩进。块有三个规则。

当代码前有缩进时,块开始。

块可以包含其他块。

当缩进减小到零或包含块的缩进时,块结束。

块通过查看一些缩进的代码更容易理解,所以让我们在小游戏程序的一部分找到这些块,如下所示:

  1. name = 'Mary'
  2. password = 'swordfish'
  3. if name == 'mary':
  4. print ('Hello Mary')
  5. if password == 'swordfish'
  6. print('Access granted.')
  7. else:
  8. print('Wrong password.')

第5课 - if,elif,else

if 的用法

  1. if name = 'Zhang Yu'
  2. print ('Hi, Zhang Yu')

ELSE 的用法

  1. name = 'Bob'
  2. if name == 'Alice':
  3. print('Hi, Alice.')
  4. else:
  5. print('Hello, stranger.')

image_1bnqn953s1h721prk1a3gfud19jdl.png-28.9kB

  1. name = 'Dracula'
  2. age = 4000
  3. if name == 'Alice':
  4. print('Hi, Alice.')
  5. elif age < 12:
  6. print('you are not Alice, kiddo.')
  7. elif age > 2000:
  8. print('Unlike you, Alice is not an undead, immortal vampire.')
  9. elif age > 100:
  10. pirnt('You are not Alice, grannie.')

您可以在最后一个elif语句之后有一个else语句。在这种情况下,保证至少有一个(只有一个)的子句被执行。如果每个if和elif语句中的条件都为False,则执行else子句。

  1. name = 'Bob'
  2. age = 30
  3. if name == 'Alice':
  4. print('Hi, Alice.')
  5. elif age < 12:
  6. print('You are not Alice, kiddo.')
  7. else:
  8. print('You are neither Alice nor a little kid.')
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注