Python 3 – 循环

Python 3 – 循环

一般来说,语句是按照顺序执行的 – 函数中的第一个语句首先被执行,然后是第二个语句,以此类推。有时您需要执行一块代码多次。

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

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

Python 3 - 循环

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

序号 循环类型和描述
1 while循环 当给定条件为True时重复执行语句或一组语句。它在执行循环体之前测试条件。
2 for循环 多次执行一系列语句,并缩写管理循环变量的代码。
3 嵌套循环 您可以在while循环或for循环内部使用一个或多个循环。

循环控制语句

循环控制语句改变执行的正常序列。当执行离开作用域时,所有在该作用域中创建的自动对象都将被销毁。

Python支持以下控制语句。

序号 控制语句和描述
1 break语句 终止循环语句并将执行转移到循环后紧跟的语句。
2 continue语句 使循环跳过其余部分并立即重新测试其条件以进行迭代。
3 pass语句 在语法上需要一个语句,但您不想执行任何命令或代码时,可以使用Python中的pass语句。

让我们简要地介绍一下循环控制语句。

迭代器和生成器

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

可以使用字符串,列表或元组对象来创建迭代器。

#!/usr/bin/python3
import sys

list = [1,2,3,4]
it = iter(list) # 这将构建一个迭代器对象
print (next(it)) # 打印迭代器中的下一个可用元素
# 使用常规的for语句可以遍历迭代器对象
for x in it:
   print (x, end=" ")
# 或使用next()函数
while True:
   try:
      print (next(it))
   except StopIteration:
      sys.exit()

生成器 是使用yield方法产生或产生值序列的函数。

当调用一个生成器函数时,它返回一个生成器对象,甚至不开始执行该函数。当第一次调用next()方法时,函数开始执行,直到它到达yield语句,然后返回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为迭代器对象

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程