Python 3 循环语句

通常,语句是按顺序执行的:首先执行函数中的第一条语句,然后是第二条,依此类推。可能存在需要多次执行代码块的情况。

编程语言提供了允许更复杂的执行路径的各种控制结构。

循环语句允许我们多次执行一个语句或一组语句。下图说明了一个循环语句。

python loop流程图

Python 编程语言提供以下类型的循环来处理循环需求。

NO. 循环类型 描述
1 while循环 在给定条件为 TRUE 时重复一个语句或一组语句。它在执行循环体之前测试条件。
2 for循环 多次执行一系列语句并缩写管理循环变量的代码。
3 嵌套循环 您可以在任何另一个 while、for 或 do..while 循环中使用一个或多个循环。

循环控制语句

循环控制语句改变其正常顺序的执行。当执行离开范围时,在该范围内创建的所有自动对象都将被销毁。

Python 支持以下控制语句。单击以下链接以查看其详细信息。

让我们简要回顾一下循环控制语句

NO. 控制声明 描述
1 break语句 终止循环语句并将执行转移到紧跟在循环之后的语句。
2 continue声明 使循环跳过其主体的其余部分,并在重复之前立即重新测试其条件。
3 pass语句 Python 中的 pass 语句在语法上需要语句但您不希望执行任何命令或代码时使用。

让我们简要回顾一下循环控制语句。

迭代器和生成器

Iterator是一个对象,它允许程序员遍历集合的所有元素,而不管其具体实现如何。在 Python 中,迭代器对象实现了两个方法,iter()和next()。

字符串、列表或元组对象可用于创建迭代器。

list = [1,2,3,4]
it = iter(list) # this builds an iterator object
print (next(it)) #prints next available element in iterator
Iterator object can be traversed using regular for statement
!usr/bin/python3
for x in it:
   print (x, end=" ")
or using next() function
while True:
   try:
      print (next(it))
   except StopIteration:
      sys.exit() #you have to import sys module for this

生成器是使用yield方法生成序列的功能。

当一个生成器函数被调用时,它甚至没有开始执行函数就返回一个生成器对象。当 next() 方法第一次被调用时,函数开始执行,直到它到达 yield 语句,该语句返回 yield 的值。产量跟踪即记住最后一次执行,第二个 next() 调用从前一个值继续。

例子

下面的例子定义了一个生成器,它为所有的斐波那契数生成一个迭代器。

#!usr/bin/python3

import sys
def fibonacci(n): #generator function
   a, b, counter = 0, 1, 0
   while True:
      if (counter > n): 
         return
      yield a
      a, b = b, a + b
      counter += 1
f = fibonacci(5) #f is iterator object

while True:
   try:
      print (next(f), end=" ")
   except StopIteration:
      sys.exit()

查看笔记

扫码一下
查看教程更方便