Skip to content

Instantly share code, notes, and snippets.

@lxnk
Created September 8, 2021 21:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lxnk/0593440bc4b74c00515330d18546ee00 to your computer and use it in GitHub Desktop.
Save lxnk/0593440bc4b74c00515330d18546ee00 to your computer and use it in GitHub Desktop.
def fun_return(n):
print("Run fun_return")
lst = list()
for i in range(n):
print("Run loop in fun_return")
lst.append(i * i)
return lst
def fun_yield(n):
print("Run fun_yield")
for i in range(n):
print("Run loop in fun_yield")
yield i * i
alist = fun_return(4)
for i2 in alist:
print("Run main loop from fun_return", i2)
generator = fun_yield(4)
for i2 in generator:
print("Run main loop from fun_yield", i2)
@lxnk
Copy link
Author

lxnk commented Sep 8, 2021

The result is:

Run fun_return
Run loop in fun_return
Run loop in fun_return
Run loop in fun_return
Run loop in fun_return
Run main loop from fun_return 0
Run main loop from fun_return 1
Run main loop from fun_return 4
Run main loop from fun_return 9
Run fun_yield
Run loop in fun_yield
Run main loop from fun_yield 0
Run loop in fun_yield
Run main loop from fun_yield 1
Run loop in fun_yield
Run main loop from fun_yield 4
Run loop in fun_yield
Run main loop from fun_yield 9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment