《Python编程快速上手——让繁琐工作自动化》第二章

第2章 控制流

2.1 布尔值

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

2.2 比较操作符

  • 这些操作符根据给它们提供的值,求值为True或False。
  • 如果两边的值一样,==(等于)求值为True。如果两边的值不同,!=(不等于)求值为False。==和!=操作符实际上可以用于所有数据类型的值。
  • 另一方面,<、>、<=和>=操作符仅用于整型和浮点型值。

2.3 布尔操作符

2.3.1 二元布尔操作符

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

2.3.2 not操作符

和and和or不同,not操作符只作用于一个布尔值(或表达式)。not操作符求值为相反的布尔值。

2.4 混合布尔和比较操作符

在所有算术和比较操作符求值后,Python先求值not操作符,然后是and操作符,然后是or操作符。

2.5 控制流的元素

2.5.1 条件

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

2.5.2 代码块

代码块有3条规则。

1.缩进增加时,代码块开始。

2.代码块可以包含其他代码块。

3.缩进减少为零,或减少为外面包围代码块的缩进,代码块就结束了。

2.6 程序执行

2.7 控制流语句

2.7.1 if语句

if name == 'Alice':
    print('Hi, Alice.')

2.7.2 else语句

if name == 'Alice':
    print('Hi, Alice.')
else:
    print('Hello, stranger.')

2.7.3 elif语句

  • 虽然只有if或else子句会被执行,但有时候可能你希望,“许多”可能的子句中有一个被执行。elif语句是“否则如果”,总是跟在if或另一条elif语句后面。它提供了另一个条件,仅在前面的条件为False时才检查该条件。
  • 如果有一系列的elif语句,仅有一条或零条子句会被执行。一旦一个语句的条件为True,剩下的elif子句会自动跳过。
  • 可以选择在最后的elif语句后面加上else语句。在这种情况下,保证至少一个子句(且只有一个)会执行。如果每个if和elif语句中的条件都为False,就执行else子句。

2.7.4 while循环语句

spam = 0
while spam < 5:
    print('Hello, world.')
    spam = spam + 1
 name = ''
while name != 'your name':
     print('Please type your name.')
     name = input()
     print('Thank you!')

2.7.6 break语句

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

2.7.7 continue语句

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

如果你运行一个有缺陷的程序,导致陷在一个无限循环中,那么请按Ctrl-C。这将向程序发送KeyboardInterrupt错误,导致它立即停止。

2.7.8 for循环和range()函数

在用于条件时,0、0.0和' '(空字符串)被认为是False,其他值被认为是True。

print('My name is')
for i in range(5):
    print('Jimmy Five Times (' + str(i) + ')')

2.7.9 等价的while循环

2.7.10 range()的开始、停止和步长参数

for i in range(12, 16):
    print(i)

12
13
14
15
for i in range(0, 10, 2):
    print(i)

0
2
4
6
8
for i in range(5, -1, -1):
    print(i)

5
4
3
2
1
0

2.8 导入模块

import random
for i in range(5):
    print(random.randint(1, 10))
  • import语句的另一种形式包括from关键字,之后是模块名称,import关键字和一个星号,例如from random import *。
  • 使用这种形式的import语句,调用random模块中的函数时不需要random.前缀。但是,使用完整的名称会让代码更可读,所以最好是使用普通形式的import语句。

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

import sys

while True:
    print('Type exit to exit.')
    response = input()
    if response == 'exit':
        sys.exit()
    print('You typed ' + response + '.')

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值