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採集網頁數據

TAG:Python | 数据分析 |