if 、else語句
Python中的if子句看起來十分熟悉。它由三部分組成:關鍵字本身,用於判斷結果真假的條件表達式,以及當表達式為真或者非零時執行的代碼塊。單個if語句可以通過使用布爾操作符and、or和not實現多重判斷條件或是否定判斷條件。
和其他語言一樣,Python提供了與if語句搭配使用的else語句。如果if語句的條件表達式的結果布爾值為假,那麼程序將執行else語句後的代碼。
elif(即else-if)語句
elif是Python的else-if語句,它檢查多個表達式是否為真,並在為真時執行特定代碼塊中的代碼。和else一樣,elif聲明是可選的,不同的是,if語句最多只能有一個else語句,但可以有任意數量的elif語句。
while語句
while是一個條件循環語句。while中的代碼塊會一直循環執行,知道循環條件不再為真。看個簡單的例子:
你必須小心的使用while循環,因為有可能條件永遠不會為布爾假。這樣一來循環就永遠不會結束。這些「無限」的循環不一定是壞事,許多通訊伺服器的客戶端/伺服器系統就是通過它來工作的。因為伺服器代碼就是用來等待客戶端(可能通過網絡)來連接的。這些客戶端向伺服器發送請求,伺服器處理請求。請求處理後,伺服器向客戶端返回數據,而此時客戶端可能斷開連接。對於伺服器而言它已經完成了對這個客戶端的任務,它會返回最外層循環等待下一個連接。
for語句
Python提供給我們的另一個循環機制就是for語句。它可以遍歷序列成員,和傳統語言中的for不同,Python的for更像是shell或是腳本語言中的foreach循環。看些例子:
break語句
Python中的break語句可以結束當前循環然後跳轉到下條語句,類似C中的break。常在當某個外部條件被觸發(一般通過if語句檢查),需要立刻從循環中退出時break語句可以用在while和for循環中。
continue語句
Python裡的continue語句和其他高級語言中的continue沒有什麼不同。它可以被用在while和for循環裡。while循環是條件性的,而for循環是迭代的,所以continue在開始下一次循環前要滿足一些先決條件,否則循環會正常結束。
pass語句
Python還提供了pass語句。Python沒有使用傳統的大括號來標記代碼塊,有時,有些地方在語法上要求要有代碼,而Python中沒有對應的空大括號或是分號(;)來表示「不做任何事」,如果你在需要有語句塊的地方不寫任何語句,解釋器會提示語法錯誤。因此,Python提供了pass語句
再談else語句
在大多數語言中,你不會在條件語句範圍外發現else語句,但Python不同,你可以在while和for循環中使用else語句。在循環中使用時,else子句只是在循環完成後執行,也就是說break語句也會跳過else塊。