循环
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 等
用于保持结构的完整性,如开发和调试时,先用来确定结构;异常处理时,暂时不采用任何措施。