**def colour_generator(lst):
for i in lst:
yield i
print()
colours=['red','green','blue']
print(colour_generator(colours))**
here the funtion colour_generetor returns the object address but if in the same code we replace 'yield' with 'return' then it returns the first element in the list(lst).. Is 'yield' completely different from 'return' statement ?
Moreover **is it really possible to create object of a function?**As the output when 'return' statement is used instead of 'yield' statement in the above code is :"" or it is something else ?