Python 3 - 循环

  • 简述

    通常,语句是按顺序执行的 - 函数中的第一条语句首先执行,然后是第二条,依此类推。可能会出现需要多次执行一段代码的情况。
    编程语言提供各种控制结构,允许更复杂的执行路径。
    循环语句允许我们多次执行一条语句或一组语句。下图说明了一个循环语句 -
    循环架构
    Python 编程语言提供了以下类型的循环来处理循环需求。
    序号 循环类型和描述
    1 while 循环
    当给定条件为真时,重复一个语句或一组语句。它在执行循环体之前测试条件。
    2 for 循环
    多次执行一系列语句并缩写管理循环变量的代码。
    3 嵌套循环
    您可以在任何另一个 while 或 for 循环中使用一个或多个循环。
  • 循环控制语句

    Loop 控制语句改变了其正常顺序的执行。当执行离开范围时,在该范围内创建的所有自动对象都将被销毁。
    Python 支持以下控制语句。
    序号 控制声明和说明
    1 break 语句
    终止循环语句并将执行转移到紧跟在循环之后的语句。
    2 continue 声明
    使循环跳过其主体的其余部分并在重复之前立即重新测试其条件。
    3 pass 声明
    Python 中的 pass 语句在语法上需要语句但您不希望执行任何命令或代码时使用。
    让我们简要介绍一下循环控制语句。
  • 迭代器和生成器

    Iterator是一个对象,它允许程序员遍历集合的所有元素,而不管其具体实现如何。在 Python 中,迭代器对象实现了两个方法,iter()next().
    String、List 或 Tuple 对象可用于创建 Iterator。
    
    
    #!/usr/bin/python3
    
    import sys
    
    
    
    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
    
    for x in it:
    
       print (x, end=" ")
    
    #or using next() function
    
    while True:
    
       try:
    
          print (next(it))
    
       except StopIteration:
    
          sys.exit()
    
    
    generator是一个使用 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()