[Python 3系列]控制流
編程的真正力量不僅僅在於運行一條條的指令,就像任務清單那樣。根據表達式求值的結果,程序可以決定下一步的操作。“控制流語句”決定了在什麽條件下執行哪些python語句。
布爾值
雖然整型、浮點型和字符串數據類型有無數種可能的值,但“布爾”數據類型只有兩種值:True和False。在作為python代碼輸入時,布爾值True和False不像字符串,兩邊沒有引號,它們總是以大寫字母開頭。布爾值也可以用在表達式中,並且可以保存在變量中。如果大小寫不正確,或者試圖用True和False作為變量名,python會給出錯誤信息。
>>> abc=True >>> abc True >>> false Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name ‘false‘ is not defined >>> False False
比較操作符
比較兩個值,求值為一個布爾值。
整型或浮點型的值永遠不會與字符串相等。
==與=的區別:==用於判斷是否一致,而=用於賦值。
▎常用比較操作符:
== 等於
!= 不等於
< 小於
> 大於
<= 小於等於
>= 大於等於
測試示例:
>>> 40==40 True >>> 40!=42 True >>> 40<=42 True >>> 40>=42 False >>> 40>=40 True >>> 40==‘40‘ False >>> ‘tom‘==‘Tom‘ False >>> ‘tom‘!=‘Tom‘ True
布爾操作符
and和or操作符總是接受兩個布爾值(或表達式),所以它們被認為是“二元”操作符。
如果兩個布爾值都為True,and操作符就將表達式求值為True,否則求值為false。
只要有一個布爾值為真,or操作符就將表達式求值為True。如果都是False,所求值為False。
和and和or不同,not操作符只作用於一個布爾值(或表達式)。not操作符求值為相反的布爾值。
>>> (4<5) and (5<6) True >>> (4>5) or (5>6) False >>> (4<5) and (5>6) False >>> (4<5) and not (5>6) True >>> (4<5) and not not (5>6) False
控制流語句
控制流語句的開始部分通常是“條件”,接下來是一個代碼塊,稱為“子句”。
1)if...elif...else 判斷
只有if語句為False時,後面的子句才會執行。
一個控制流中可以有有多個elif子句。
[[email protected] test]# cat if.py a=6 if a<5 : print(‘a<5‘) elif a==5 : print(‘a=5‘) elif a==6 : print(‘a=6‘) else : print(‘a>6‘) [[email protected] test]# python3 if.py a=6
2)while和for 循環
while和for都可以循環,但for循環相對更簡潔。
while示例:
[[email protected] test]# cat while.py a=0 while a<5: print(‘Hello world.‘) a=a+1 [[email protected] test]# python3 while.py Hello world. Hello world. Hello world. Hello world. Hello world.
for示例:
[[email protected] test]# cat for.py for a in range(0,6): print(‘Hello world.‘) [[email protected] test]# python3 for.py Hello world. Hello world. Hello world. Hello world. Hello world.
3)break和continue 中斷
當循環時,如果執行遇到break語句,就會馬上退出循環。
[[email protected] test]# cat break.py a=0 while a<5: print(‘Hello world.‘) a=a+1 if a==3: break [[email protected] test]# python3 break.py Hello world. Hello world. Hello world.
當循環時,如果執行遇到continue語句,就會跳回循環開始處,繼續循環。
[[email protected] test]# cat continue.py a=0 while a<5: if a==3: a=a+1 continue print(‘Hello world.‘) a=a+1 [[email protected] test]# python3 continue.py Hello world. Hello world. Hello world. Hello world.
4)range()
range()函數可以被傳遞多個參數。上限為3個參數。第一個為變量開始的值,第二個參數是上限(不包含),第三個參數是“步長”。
>>> for i in range(0,15,3): ... print(i) ... 0 3 6 9 12
終止程序
使用import語句導入模塊,可以使用內建函數。可以直接用import語句,也可以用from import語句。
使用from import語句,調用模塊中的函數時不需要模塊的前綴。
推薦使用import語句,因為完整的名稱讓代碼更可讀。
通過調用sys.exit()函數,可以讓程序終止或退出。因為這個函數在sys模塊中,所以必須先導入sys,才能使用它。
[[email protected] test]# cat sys.py import sys a=1 while True: print(‘Type exit to exit.‘) text=input() if text==‘exit‘: sys.exit() print(str(a)+‘> ‘+text) a=a+1 [[email protected] test]# python3 sys.py Type exit to exit. hello 1> hello Type exit to exit. world 2> world Type exit to exit. exit
本文出自 “亂碼時代” 博客,請務必保留此出處http://juispan.blog.51cto.com/943137/1943869
[Python 3系列]控制流