【python教程入门学习】Python循环

x33g5p2x  于2022-01-11 转载在 Python  
字(1.2k)|赞(0)|评价(0)|浏览(558)

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

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

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

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

循环控制语句

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

Python支持以下控制语句。

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

迭代器和生成器

迭代器(Iterator)是允许程序员遍历集合的所有元素的对象,而不管其具体实现。在Python中,迭代器对象实现了iter()next()两种方法。对于新手小白想更轻松的学好Python基础,Python爬虫,web开发、大数据,数据分析,人工智能等技术,这里给大家分享系统教学资源,架下我尉(同英): 2763177065 【教程/工具/方法/解疑】

StringListTuple对象可用于创建Iterator

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

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

当一个生成器函数被调用时,它返回一个生成器对象,而不用执行该函数。 当第一次调用next()方法时,函数开始执行,直到它达到yield语句,返回yielded值。 yield保持跟踪,即记住最后一次执行,而第二个next()调用从前一个值继续。

示例

以下示例定义了一个生成器,它为所有斐波纳契数字生成一个迭代器。

  1. #!usr/bin/python3
  2. import sys
  3. def fibonacci(n): #generator function
  4. a, b, counter = 0, 1, 0
  5. while True:
  6. if (counter > n):
  7. return
  8. yield a
  9. a, b = b, a + b
  10. counter += 1
  11. f = fibonacci(5) #f is iterator object
  12. while True:
  13. try:
  14. print (next(f), end=" ")
  15. except StopIteration:
  16. sys.exit()

相关文章