Generators —
Functions that return an iterable set of items, one at a time, in a special way.
def infinite_sequence():
num = 0
while True:
yield num
num += 1
# A simple generator function
def my_gen():
n = 1
print('This is printed first')
# Generator function contains yield statements
yield n
n += 1
print('This is printed second')
yield n
n += 1
print('This is printed at last')
yield n
-
allow you to declare a function that behaves like an iterator, i.e. it can be used in a for loop.
-
look and act just like regular functions, but use the yield keyword instead of return.
-
Contains one or more yield statements.