第2章 控制流
2.1 布林值
布林資料型別有兩種值:True 和 False
2.2 if語句
if語句包含以下部分:
- if關鍵字
- 條件(即求值為True or False)
- 冒號
- 在下一行開始,縮排程式碼塊
2.3 while迴圈語句
while迴圈語句總是包含下面的部分:
- 關鍵字
- 條件
- 冒號
- 從新行開始,縮排的程式碼塊(稱為while的子句)
【注】可以看到while語句看起來和if語句類似,不同之處在於他們的行為。if子句結束時,程式繼續執行if之後的語句,但在while子句結束時,程式執行跳回到while語句開始處。
#if 語句
>>> spam = 0
>>> if spam < 5:
print('hello,world')
spam = spam + 1
hello,world
#while 語句
>>> spam = 0
>>> while spam <5 :
print('hello,world')
spam = spam +1
hello,world
hello,world
hello,world
hello,world
hello,world
2.4 break語句
在while迴圈的子句中,如果執行遇到break語句就會馬上退出while迴圈。
2.5 continue語句
continue語句同樣用於while迴圈內部,如果程式執行中遇到continue語句,就會馬上跳轉到迴圈開始處,重新對迴圈條件進行求值。
2.6 for迴圈和range()函式
在用於條件時,0、0.0、”(空字串)被認為是False,其他值被認為是True
在程式碼中,for語句看起來像 for i in range(5):這樣,總是包含以下部分:
- for關鍵字
- 一個變數名
- in關鍵字
- 呼叫range()方法,最多傳入三個引數
- 冒號
- 從下一行開始,縮排的程式碼塊
2.7 range()的開始、停止和步長引數
range()函式可以有三個引數,第一個為起始值、第二個為終止值、第三個為步長,步長就是每次迭代後迴圈變數增加的值。當然,負數也可以作為步長引數,讓迴圈計數逐漸減少,而不是增加.
>>> for i in range (12,16):
print(i)
12
13
14
15
>>> for i in range(0,10,1):
print(i)
0
1
2
3
4
5
6
7
8
9
>>> for i in range(5,-1,-1):
print(i)
5
4
3
2
1
0
>>>
2.8 匯入模組
python程式可以呼叫一組基本的函式,這稱為“內建函式”,python也包含一組模組,稱為“標準庫”每個模組都是一個python程式,包含一組相關的函式,可以嵌入你的程式之中。
在使用一個模組中的函式之前,必須用import語句匯入該模組。
import語句包含以下部分:
- import關鍵字
- 模組名稱
- 可選的更多的模組名稱,之間用逗號隔開
>>> import random
>>> for i in range(5):
print(random.randint(1,10))
6
1
9
1
4
2.9 sys.exit()提前結束程式
當程式執行到指令的底部時,只是會終止。但是通過呼叫sys.exit()函式,可以讓程式終止或者退出,因為這個函式在sys模組中,所以必須先匯入sys,才能使用它。
>>> import sys
>>> while True:
print('typle exit to exit.')
response =input()
if response == 'exit':
sys.exit()
print('you typed' + response +'.')
typle exit to exit.
exit
>>>
【注】
- 布林操作符有 and 、 or、not
- 條件是一個表示式,它用於控制流語句,求值為布林值。
程式碼塊:一些程式碼可以作為一組,放在“程式碼塊”中,他有三條規則:
- 縮排增加時,程式碼塊開始
- 程式碼塊可以包含其他程式碼塊
- 縮排減少為零,或減少為外面包圍的程式碼塊的縮排,程式碼塊就結束了