2.1 布尔值
虽然整型、浮点型和字符串数据类型有无数种可能的值,但“布尔”数据类型
只有两种值:True 和 False。在作为 Python 代码输入时,布尔值 True 和 False
不像字符串,两边没有引号,它们总是以大写字母 T 或 F 开头,后面的字母小写。在交互式环境中输入下面内容,情况如下:
2.2 比较操作符
“比较操作符”比较两个值,求值为一个布尔值。下表列出了比较操作符。
操作符 | 含义 |
---|---|
== | 等于 |
!= | 不等于 |
< | 小于 |
|大于
<=|小于等于
=|大于等于
这些操作符根据给它们提供的值,求值为 True 或 False。现在试一些操作符,从==和!=开始。
==和!=操作符实际上可以用于所有数据类型的值。
你可能已经注意到,操作符(等于)有两个等号,而=操作符(赋值)只
有一个等号。这两个操作符容易混淆。
2.3 布尔操作符
and 和 or 操作符总是接受两个布尔值,所以它们被认为是“二元”操作符。如果两个布尔值都为 True,and 操作符就将表达式求值为 True,否则求值 为 False。在交互式环境中输入某个使用 and 的表达式,看看效果。另一方面,只要有一个布尔值为真,or 操作符就将表达式求值为 True。如果都
是 False,所求值为 False。和 and 和 or 不同,not 操作符只作用于一个布尔值(或表达式)。not 操作符求值为相反的布尔值。你可以嵌套 not 操作符
2.4 控制流的元素
控制流语句的开始部分通常是“条件”,接下来是一个代码块,称为“子句”。
在开始学习具体的 Python 控制流语句之前,先介绍条件和代码块。
- 条件
布尔表达式可以看成是条件,它和表达式是一回事。条件总是求值为一个布尔值,True 或 False。控制流语句根据条件是 True 还是 False,来决定做什么。 - 代码块
一些代码行可以作为一组,放在“代码块”中。可以根据代码行的缩进,知道
代码块的开始和结束。代码块有 3 条规则。
1.缩进增加时,代码块开始。
2.代码块可以包含其他代码块。
3.缩进减少为零,或减少为外面包围代码块的缩进,代码块就结束了。
看一些有缩进的代码,更容易理解代码块。
if name == 'Mary':
print('Hello Mary')
if password == 'swordfish':
print('Access granted.')
else:
print('Wrong password.')
2.5 控制流语句
1.if语句
最常见的控制流语句是 if 语句。if 语句的子句(也就是紧跟 if 语句的语句块),将在语句的条件为 True 时执行。如果条件为 False,子句将跳过。
if 语句包含以下部分:
- if 关键字
- 条件(即求值为 True 或 False 的表达式)
- 冒号
- 在下一行开始,缩进的代码块(称为 if 子句)
例如,假定有一些代码,检查某人的名字是否为 Wangda(假设此前曾为 name
赋值)。
if name == 'Wangda':
print('Hi, Wangda.')
2.if 子句后面有时候也可以跟着 else 语句。只有 if 语句的条件为 False 时,else
子句才会执行。在英语中,else 语句读起来可能是:“如果条件为真,执行这段
代码。否则,执行那段代码”。else 语句不包含条件,在代码中,else 语句中包
含下面部分:
- else 关键字
- 冒号
- 在下一行开始,缩进的代码块(称为 else 子句)。
回到 之前的例子,我们来看看使用 else 语句的一些代码,在名字不是 Wangda
时,提供不一样的问候
if name == 'Wangda':
print('Hi, Wangda.')
else:
print('Hello, stranger.')
3.虽然只有 if 或 else 子句会被执行,但有时候可能你希望,“许多”可能的子句
中有一个被执行。elif 语句是“否则如果”,总是跟在 if 或另一条 elif 语句后面。它
提供了另一个条件,elif语句总是包含以下部分:
- elif 关键字
- 条件
- 冒号
- 在下一行开始,缩进的代码块
下面的例子仅仅展示了elif的用法(无实际意义)
if name == 'Wangda'
print('Hello,Wangdalian')
elif
print('please enter again')
4.while 循环语句
利用 while 语句,可以让一个代码块一遍又一遍的执行。只要 while 语句的条
件为 True,while 子句中的代码就会执行。在代码中,while 语句总是包含下面几
部分:
- 关键字
- 条件
- 冒号
- 新行缩进代码块
while语句使用:
spam = 0
while spam < 5 :
print(spam)
spam = spam + 1
小例子:
它要求你输入“Wangwenhongzuishuai”(就是这个字符串),不输入就将进入无限循环状态。
sentence = ''
while sentence != 'Wangwenhongzuishuai':
print('Please type your name:')
sentence = input()
print('Thankyou')