Python知識分享網 - 專業(yè)的Python學習網站 學Python,上Python222
Python3.2.3官方文檔(中文版) PDF 下載
發(fā)布于:2023-11-30 10:45:52
(假如點擊沒反應,多刷新兩次就OK!)

Python3.2.3官方文檔(中文版) PDF 下載  圖1

 

 

 

 

 

資料內容:

 

 

2.2 for 語句
python 中的 for 語句可能有以前你在 C 或者 pascal 中所用的有點小差別。她既不像
Pascal 語言中常常遍歷數組的算法過程,也不像在 C 語言中給用戶自己定義遍歷步驟或模糊
條件的能力,python 中的 for 語句可以按照元素在序列(列表或者字符串)中出現的順序逐
步地遍歷它們。例如:
>>> # Measure some strings:
... a = [cat, window, defenestrate]
>>> for x in a:
... print(x, len(x))
...
cat 3
window 6
defenestrate 12
在循環(huán)語句中修改正在遍歷的序列是不安全的(這種情況僅僅發(fā)生在可變類型中,如列表)。
如果你需要修改你正在遍歷的列表(例如,想復制選中項)你必須首先復制 list。然后利用
分片符號很方便實現它。
>>> for x in a[:]: # make a slice copy of the entire list
... if len(x) > 6: a.insert(0, x)
...
>>> a
[defenestrate, cat, window, defenestrate]
 
 
2.3 range()方法
如果你想迭代一個數字序列,內置方法 range()可以很方便實現它。它可以生成連續(xù)
的數字:
>>> for i in range(5):
... print(i)
...
0
1
2
3
4
方法中給出的結點不是產生序列中的一部分。Range(10)就是產生為長度為 10 序列中每個元
素產生 10 個合法的索引值。該方法也可以讓范圍從其他數字開始,或者指定不同的增長數
(甚至是負數,有時稱這為階梯)。
range(5, 10)
5 through 9
range(0, 10, 3)
0, 3, 6, 9
range(-10, -100, -30)
-10, -40, -70
為了迭代序列的目錄,你可以結合 range()len()結合起來,例如:
>>> a = [Mary, had, a, little, lamb]
>>> for i in range(len(a)):
... print(i, a[i])
...
0 Mary
1 had
2 a
3 little
4 lamb
但是,在許多情況下,運用 enumerate()方法會更加方法,具體參照 Looping Techniques.
如果你想打印一個范圍,奇怪的現象將會出現。
>>> print(range(10))
range(0, 10)
在很多情況下利用 range()返回對象表現像列表,但實際上它不是列表。盡管當你迭代期望
序列時,它能夠依次地返回元素,但是它沒有真正生成列表,因此節(jié)省空間。
我們可以把對象成為是可迭代的,就是指它很適合作為預期得到有序元素事情的方法和結構
的對象。 我們已經知道 for 語句就是這種迭代器。方法 list()也算一個,它可以產生有序列
表。
>>> list(range(5))
[0, 1, 2, 3, 4]
稍后我們會看到更多能返回迭代對象和把迭代對象當做內容的方法。
2.4 break continue 語句和在循環(huán)中的 else 子句
與在 C 語言中一樣,Break 語句將會跳出離它最近的 for 或者 while 循環(huán)。
Continue 語句也是從 C 中借鑒而來,繼續(xù)開始循環(huán)的下一步。
循環(huán)語句中有時含有 else 的子句。當通過遍歷結束導致循環(huán)終止(for)或者當循環(huán)條件變
false(如 while,它將會執(zhí)行。但是當循環(huán)被 break 語句所終止,它不會被執(zhí)行。下面通
過查詢質數這個例子來學習: