1. for循環(huán)
for循環(huán)可以用來遍歷某一對象(遍歷:通俗點(diǎn)說,就是把這個(gè)循環(huán)中的第一個(gè)元素到最后一個(gè)元素依次訪問一次)。for循環(huán)的基本結(jié)構(gòu)如下:
具體看這個(gè)案例:
設(shè)計(jì)一個(gè)函數(shù),在桌面創(chuàng)建10個(gè)文本,用數(shù)字從1-10依次給它們命名。
1 def text_create(): 2 path = '/Users/duwangdan/Desktop/' 3 for text_name in range(1,11): 4 # 1-10的范圍需要用到range函數(shù) 5 with open (path + str(text_name) + '.txt','w') as text: 6 # with...as的用法正文內(nèi)會詳細(xì)介紹 7 text.write(str(text_name)) 8 text.close() 9 print('Done')10 11 text_create()
現(xiàn)在我們來理解下每行代碼。
第1行:定義一個(gè)text_create函數(shù);
第2行:給變量path賦值為桌面路徑;
第3行:將1-10范圍內(nèi)的每個(gè)數(shù)字依次裝入變量text_name中,每次命名一個(gè)文件;
第5行:打開位于桌面的txt文件,并給每一個(gè)text執(zhí)行寫入操作;
第7行:給每個(gè)文件依次命名;
第8行:關(guān)閉文件;
第9行:執(zhí)行完一次命名操作后顯示一個(gè)Done;
第11行:調(diào)用函數(shù)。
案例中提到了“with...as”,在Python中,“with...as”語法是用來代替?zhèn)鹘y(tǒng)的“try...finally”的。
比如:打開桌面的test文件,嘗試讀取文件內(nèi)容,最后關(guān)閉文件。
1 file = open('/Users/duwangdan/Desktop/test.txt')2 try:3 data = file.read()4 finally:5 file.close()
雖然這段代碼執(zhí)行良好,但比較冗長,換成用“with...as”來表達(dá)后,代碼會更為簡潔。
1 with open('/Users/duwangdan/Desktop/test.txt') as file:2 data = file.read()
除了上面的單層循環(huán)之外,還有一種常見的循環(huán),是嵌套循環(huán)。
比如用嵌套循環(huán)實(shí)現(xiàn)九九乘法口訣。
1 for i in range(1,10):2 for j in range(1,10):3 print('{} X {} = {}'.format(i,j,i*j))
最外層的循環(huán),依次將1-9的數(shù)字儲存在變量i中;變量i每取一次值,內(nèi)層循環(huán)就依次將1-9的數(shù)字儲存在變量j中;最后打印出當(dāng)前的i、j、和i*j的值。
從Python2.6開始,新增了format函數(shù),用來格式化字符串,可以通過{}.format來實(shí)現(xiàn)。在上面這個(gè)案例中,將i、j、i*j的值分別存入前面的{ }中,然后做好格式化,統(tǒng)一形式。
2. while循環(huán)
for循環(huán)和while循環(huán),兩者的相同點(diǎn)在于都能循環(huán)做一件重復(fù)的事情;不同點(diǎn)在于,for循環(huán)是在序列窮盡時(shí)停止,while循環(huán)是在條件不成立時(shí)停止。
具體,看下面這個(gè)例子:
1 count = 02 while True:3 print('重復(fù)一遍')4 count = count + 15 if count == 3:6 break
給變量count賦值為0,while True就是條件成立,顯示“重復(fù)一遍”,此時(shí)count被重新賦值為count+1,如果count等于3時(shí),跳出循環(huán)。最后一句的break是跳出最近一層的循環(huán),如果不跳出,程序會無限制循環(huán)下去,造成死循環(huán)。
如果不想用break來跳出循環(huán),也可以改變使循環(huán)成立的條件。
將上面的例子可轉(zhuǎn)化為如下:
1 count = 02 while (count < 3):3 print('重復(fù)一遍')4 count = count + 1
到這里,關(guān)于邏輯判斷到循環(huán)的內(nèi)容已經(jīng)全部結(jié)束,后面會做下小練習(xí),是幾乎大家都玩過的一個(gè)小游戲:猜大小。
操作環(huán)境:Python版本,3.6;PyCharm版本,2016.2;電腦:Mac
----- End -----
作者:杜王丹,微信公眾號:杜王丹,互聯(lián)網(wǎng)產(chǎn)品經(jīng)理。
http://www.cnblogs.com/duwangdan/p/6830394.html