generator return python code example
Example 1: generator expressions python
>>> even_squares = (x * x for x in range(10)
if x % 2 == 0)
Example 2: python generator
# A generator-function is defined like a normal function,
# but whenever it needs to generate a value,
# it does so with the yield keyword rather than return.
# If the body of a def contains yield,
# the function automatically becomes a generator function.
# Python 3 example
def grepper_gen():
yield "add"
yield "grepper"
yield "answer"
grepper = grepper_gen()
next(grepper)
> add
next(grepper)
> grepper
next(grepper)
> answer
Example 3: python generators
# Size of generators is a huge advantage compared to list
import sys
n= 80000
# List
a=[n**2 for n in range(n)]
# Generator
# Be aware of the syntax to create generators, lika a list comprehension but with round brakets
b=(n**2 for n in range(n))
print(f"List: {sys.getsizeof(a)} bits\nGenerator: {sys.getsizeof(b)} bits")