分支結構和循環結構
Python代碼執行的流程有三種結構,分別是順序結構、分支結構、循環結構:
1、順序結構,代碼執行的流程從上至下順序依次執行
2、分支結構,選擇性的執行代碼。if語句
3、循環結構,讓程序不斷執行一段代碼
1、分支結構
python中實現分支結構,只有If語句,沒有其他編程語言的分支結構switch語句。
1、 if 表達式:
代碼塊
2、 if 表達式:
代碼塊
else:
代碼塊
3、 if 表達式:
代碼塊
elif 表達式:
代碼塊
else:
代碼塊
-
三種形式的執行步驟
1、代碼是從上到下的執行,不管表達式是什麼(表達式可以是一個值,也可以是一個表達式),只要爲真時,就進入到代碼塊
2、代碼塊執行步驟依然是從上到下依次執行,執行完成後,就跳出這個If結構 -
縮進
Python是以縮進識別 if 結構中的代碼塊。Python沒有要求,縮進一次是多少個空格。建議一次縮進是四個空格,基本IDLE工具都支持TAB縮進是四個空格
-
assert
assert語句相當於是if語句的縮小版,它讓判斷表達式爲真時,代碼繼續執行下去,否則,拋出異常。
異常造成的後果是,如果沒有處理異常,系統會直接停止運行- 語法:
assert 表達式
2、循環結構
-
while循環語句
只要while表達式爲真,就執行代碼塊,直到表達式爲False跳出循環體,不然重複執行代碼塊
語法
while 表達式: 代碼塊
-
for循環語句
for循環語句是爲了迭代
語法
for 迭代對象的值 in 迭代對象: 代碼塊
常用的迭代對象有序列、字典、Set集合,可使用isinstance()[^1]函數判斷
>>> from collections import Iterable >>> a = [1,2,3] >>> print(isinstance(a, Iterable)) True
-
循環結構中else用法
簡單來說,把循環結構當作了判斷語句,有兩個分支。循環體中沒有執行到break語句,就執行else代碼塊;執行到break語句,就跳過else代碼快
# 需求:在避孕套列表中,如果遇到杜蕾斯就打印段子手
tt = ['杜蕾斯','傑士邦','岡本','第6感']
for value in tt:
if value == '杜蕾斯':
break
else:
print('品質王')
print('段子手')
>>>執行結果
段子手
[^1]:Python類型判斷的內置函數有兩個,分別是type()和isinstance();type()不認爲子類是父類的一種,不考慮繼承關係。而isinstance()會認爲子類當作父類的一種,考慮繼承關係。