In general, statements are executed sequentially: The first statement in a function is executed first, followed by the second, and so on. There may be a situation when you need to execute a block of code several number of times.
Programming languages provide various control structures that allow for more complicated execution paths.
A loop statement allows us to execute a statement or group of statements multiple times. The following diagram illustrates a loop statement −
Python programming language provides following types of loops to handle looping requirements.
Loop Type | Description |
---|---|
Repeats a statement or group of statements while a given condition is TRUE. It tests the condition before executing the loop body. | |
Executes a sequence of statements multiple times and abbreviates the code that manages the loop variable. | |
You can use one or more loop inside any another while,or for or loop. |
Loop Control Statements
Loop control statements change execution from its normal sequence. When execution leaves a scope, all automatic objects that were created in that scope are destroyed.
Python supports the following control statements. Click the following links to check their detail.
Control Statement | Description |
---|---|
Terminates the loop statement and transfers execution to the statement immediately following the loop. | |
Causes the loop to skip the remainder of its body and immediately retest its condition prior to reiterating. | |
The pass statement in Python is used when a statement is required syntactically but you do not want any command or code to execute. |
Let us go through the loop control statements briefly −
Iterator and Generator
Iterator is an object which allows a programmer to traverse through all the elements of a collection, regardless of its specific implementation. In Python iterator object implements two methods : iter() and next()
String, List or Tuple object can be used to create an Iterator
list=[1,2,3,4] it = iter(list) # this builds an iterator object print (next(it)) #prints next available element in iteratorIterator object can be traversed using regular for statement!usr//bin/python3 for x in it: print (x, end=" ")or using next() functionwhile True: try: print (next(it)) except StopIteration: sys.exit() #you have to import sys module for this
A generator is a function that produces or yields a sequence of values using yield method.
When a generator function is called, it returns an generator object without even beginning execution of the function. When next() method is called for the first time, the function starts executing until it reaches yield statement which returns the yielded value. The yield keeps track of i.e. remembers last execution. And second next() call continues from previous value.
Following example defines a generator which generates an iterator for all the Fibonacci numbers.!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()
0 Comment:
Đăng nhận xét
Thank you for your comments!