for 语句用于对序列(例如字符串、元组或列表)或其他可迭代对象中的元素进行迭代:
表达式列表会被求值一次;它应该产生一个可迭代对象。 系统将为 expression_list
的结果创建一个迭代器,然后将为迭代器所提供的每一项执行一次子句体,具体次序与迭代器的返回顺序一致。
每一项会按标准赋值规则被依次赋值给目标列表,然后子句体将被执行。 当所有项被耗尽时 (这会在序列为空或迭代器引发 StopIteration
异常时立刻发生),else 子句的子句体如果存在将会被执行,并终止循环。
第一个子句体中的 break 语句在执行时将终止循环且不执行 else 子句体。 第一个子句体中的 continue
语句在执行时将跳过子句体中的剩余部分并转往下一项继续执行,或者在没有下一项时转往 else 子句执行。
遍历完全部,就执行else;
遇到break中断,就不会执行else。
参考:
https://docs.python.org/zh-cn/3/reference/compound_stmts.html#the-for-statement