首页 > 编程语言 > 详细

Python循环

时间:2019-03-02 23:23:24      阅读:237      评论:0      收藏:0      [点我收藏+]

一般来说,语句依次执行 - 例如,函数中的第一个语句首先执行,然后是第二个语句,依次类推。但是有很多时候需要多次执行同一段代码,这就引入了循环的概念。

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

循环语句允许多次执行语句或语句组。下图说明了一个循环语句流程结构 -

技术分享图片

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

编号循环描述
1 while循环 在给定条件为TRUE时,重复一个语句或一组语句。 它在执行循环体之前测试状态。
2 for循环 多次执行一系列语句,并缩写管理循环变量的代码。
3 嵌套循环 可以使用一个或多个循环在whilefor循环中。

循环控制语句

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

Python支持以下控制语句。

编号控制语句描述
1 break语句 终止循环语句并将执行转移到循环之后的语句。
2 continue语句 使循环跳过其主体的剩余部分,并立即重新测试其状态以进入下一次迭代。
3 pass语句 当语法需要但不需要执行任何命令或代码时,Python中就可以使用pass语句,此语句什么也不做,用于表示“占位”的代码,有关实现细节后面再写

下面简单地看一下循环控制语句。

迭代器和生成器

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

StringListTuple对象可用于创建Iterator

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() #you have to import sys module for this

发生器(generator)是使用yield方法产生或产生一系列值的函数。

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

 

Python循环

原文:https://www.cnblogs.com/yinluhei/p/10463232.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!