通常,语句按顺序执行和减去;首先执行函数中的第一个语句,然后执行第二个语句,依此类推.可能存在需要多次执行代码块的情况.
编程语言提供了各种控制结构,允许更复杂的执行路径.
循环语句允许我们多次执行一个语句或一组语句.下图说明了一个循环语句 :
Python编程语言提供以下类型的循环来处理循环需求.
Sr.No. | Loop Type&说明 |
---|---|
1 | while循环 在给定条件为TRUE时重复语句或语句组.它在执行循环体之前测试条件. |
2 | for for循环 执行一系列的语句多次并缩写管理循环变量的代码. |
3 | 嵌套循环 你可以在任何其他循环中使用一个或多个循环,或者循环. |
循环控制语句将执行从其正常顺序更改.当执行离开作用域时,在该作用域中创建的所有自动对象都将被销毁.
Python支持以下控制语句.
Sr.No. | 控制声明&描述 |
---|---|
1 | break语句 终止循环语句并将执行转移到紧跟在语句之后的语句循环. |
2 | continue语句 导致循环跳过剩余的它的身体并在重复之前立即重新测试它的状态. |
3 | 传递声明 当语法需要语句但你不希望执行任何命令或代码时,使用Python中的pass语句. |
让我们简要介绍一下循环控制语句.
迭代器是一个对象允许程序员遍历集合的所有元素,无论其具体实现如何.在Python中,迭代器对象实现两个方法, iter()和 next().
String,List或Tuple对象可以用于创建迭代器.
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
A 生成器是一个使用yield方法生成或产生一系列值的函数.
当调用生成器函数时,它返回一个生成器对象,甚至没有开始执行该函数.当第一次调用next()方法时,函数开始执行,直到它到达yield语句,返回产生的值. yield保持跟踪即记住上次执行,第二次next()调用从前一个值继续.
以下示例定义了一个生成器,它为所有Fibonacci数生成一个迭代器.
#!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()