循環
while循環(條件循環)
while 循環必須得有一個計數器,python中沒有 i ++ 的操作
for循環(迭代循環)
1. 原理:遍歷序列成員,依次訪問可迭代對象(序列、迭代器等)
2. 序列類型包括:字符串、列表、元組。(非序列:字典、文件)
迭代序列的三種基本方法:序列項、序列索引、項&索引。
通過序列項迭代
nameList = [‘Walter’, “Nicole”, ‘Steven’, ‘Henry’] for eachName in nameList: print(eachName) Walter Nicole Steven Henry 在上面的例子中, 我們迭代一個列表. 每次迭代, eacgName 變量都被設置為列表中特定某個元素,然后我們在代碼塊中打印出這個變量.
通過序列的索引來迭代 nameList = [‘Cathy’, “Terry”, ‘Joe’, ‘Heather’,‘Lucy’] for nameIndex in range(len(nameList)): print(nameList[nameIndex]) Cathy Terry Joe Heather Lucy 我們沒有迭代元素, 而是通過列表的索引迭代.這里我們使用了內建的 len() 函數獲得序列長度, 使用 range()創建了要迭代的序列,使用切片/下標操作符( [ ] ),就可以訪問對應的序列對象. 直接迭代序列要比通過索引迭代快
通過項和索引迭代,使用內建的 enumerate() 函數 nameList = [‘Donn’, ‘Shirley’, ‘Ben’, ‘Janice’, ‘David’, ‘Yen’, ‘Wendy’] for i, eachName in enumerate(nameList): print(i+1, eachName) 1 Donn 2 Shirley 3 Ben 4 Janice 5 David 6 Yen 7 Wendy
3. 迭代器類型
for循環開始時,會通過迭代協議傳輸給iter()內置函數,從而能夠從迭代對象中獲得一個迭代器,自動調用迭代對象的next()方法,調用后返回下一個條目。知道捕獲到 StopIteration 異常,結束循環。
注意:
while...else... 和 for...else... 的 else 子句只在循環正常完成后執行,如果遇到 break 語句,會跳過 else 子句不會被執行。
循環控制
1)break:停止執行整個循環
2)continue:跳過本次循環,進入下一次循環。
注意,要驗證成功時,才進入下一輪迭代,如果是條件循環就驗證條件表達式,如果是迭代循環,就驗證是否還有可迭代的元素。
3)pass:空語句,可用在 if / elif / else, while / for, def / class, try / except / finally 等
用於保持結構的完整性,如開發和調試時,先用來確定結構;異常處理時,暫時不采用任何措施。
