Contents

yield keyword means: Provide output and continue

return keyword means: Provide output and stop



import time
Lets try to make a list using a function
def make_list (num):
	for i in range(num):
		print('local variable i :',i)
		yield i
		
		
num = 3
value = make_list(num)
print('Here is value',value)

Lets make list of the value

print(list(value))




next_value = next(value)
print('Here is next(value)',next_value)
next_value = next(value)
print('Here is next(value)',next_value)
next_value = next(value)
print('Here is next(value)',next_value)

# If we call the next value once more, we will get a traceback. 
## Because the stack of executions is already empty

## next_value = next(value)
## print('Here is next(value)',next_value)

## So to have a list back lets call the make_list again

value = make_list(num)
print(list(value))