20170403Python控制流if、while、for語句學習
控制流if、while、for語句學習
if elif else語句
if語句是一種最常見的控制流語句類型。它用於判斷一個條件,如果為True,則執行緊跟其後的代碼塊。
一條if語句可以跟上一個或多個elif塊以及一個「滴水不漏」的else塊(如果所有條件都為False)。
if ... :
Print(「」)
elif... :
Print(『』)
...(Tab鍵縮進的一整塊代碼塊)
elif... :
...
...
...
else...(條件判斷True or False):
.....
....
....
如果任何一個條件為True,則其後的elif或else塊就不會執行。對於用and或or組成的符合條件,各條件是按從左到右的順序求值的,而且是短路的。
範例:
>>>a = 5, b = 7
>>>c = 8 , d = 4
>>>if a<b or c>d:
Print(「Make it」)
Make it
在本例子中,比較運算c>d是不會被計算的,因為第一個比較運算為True。
for循環
For循環用於對集合(比如列表或元組)或迭代器進行迭代,for循環的標準語法是:
for value in collection:
#對value做一些處理
continue關鍵字 用於使for循環提前進入下一次迭代(即跳過代碼塊的剩餘部分)。
看看下面這段代碼,其功能是對列表中的整數求和並跳過None值。
>>> sequence = [1,2,None,4,None,5] #單詞sequence:序列、數列
>>> total = 0
>>> for value in sequence:
tif value is None :
ttcontinue #該次循環執行到此,不執行該循環(改代碼塊)剩下的total += value部分,提前進入下一次循環
ttotal += value
>>> print(total)
12
>>>
break關鍵字用於使for循環完全退出。下面這段代碼用於對列表的元素求和,遇到2就退出:
>>> sequence = [1,2,None,4,None,5]
>>> total = 0
>>> for value in sequence:
tif value ==2 :
ttbreak
ttotal += value
>>> print(total)
1
>>>
後面我們還會看到,如果集合或迭代器的元素是序列類型(比如元組或列表),那麼還可以非常方便地將這些元素拆散成for循環語句中的多個變數:
for a,b,c in iterator: #for循環中一共有3個變數a , b , c,iterator:迭代器、迭代程序的意思
#做一些處理(前面按Tab鍵)
while循環
While循環定義了一個條件和一個代碼塊,只要條件不為false或者循環沒有被break顯示終止,則代碼塊將一直不斷的執行下去:
>>> x = 256
>>> total = 0
>>> while x > 0 :
tif total > 500 :
ttbreak
ttotal += x
>>> print(x)
256
>>> print(total)
512
>>>
for循環和while循環的區別:
兩者從表達能力上說是等價的,即兩者能夠完成的事情是一樣的。
其次,由於for語句將初始化,循環條件和每次循環後對循環變數的修改放在一起,比較清晰直觀。因此for語句常用於能夠預先判斷循環次數的循環或遍歷中。如遍歷一個數組,或者執行某操作若干次之類。此時用for語句較優。
while語句的歷史更久,表達方式上更自由靈活,常用於無法事先判斷循環次數的循環。譬如經典的計算C風格字元串的長度的代碼,又如後根遍歷二叉樹的非遞歸實現。此時用while語句會使程序更清晰。
總之一句話,兩者從表達能力上說是等價的,for語句常用於能夠預先判斷循環次數的循環或遍歷中(比如遍歷一個數組、列表、元組或者執行某操作若干次之類),while常用於無法事先判斷循環次數的循環(比如計算字元串的長度的代碼)。
pass
pass是Python中的空操作語句,它可以被用在那些沒有任何功能的代碼塊中。由於Python是根據空白符劃分代碼塊的,所以它的存在是很有必要的。
if x<0:
print(「negative」)
elif x==0:
#TODO:在這裡放點代碼
pass
else :
print(「positive」)
在開發一個新功能時,常常會將pass用作代碼中的佔位符:
def f(x,y,z):
#TODO:實現這個函數!
pass
推薦閱讀:
※TensorFlow初步(3)
※Python資料庫起航篇|零基礎起步
※Sublime Text 3中怎麼更換python的版本?
※詳解Python元類
※第十六章 API例子:用Python驅動Firefox採集網頁數據