[Python-Dev] Tricky way of of creating a generator via a comprehension expression (original) (raw)
Serhiy Storchaka storchaka at gmail.com
Thu Nov 23 07:54:27 EST 2017
- Previous message (by thread): [Python-Dev] Tricky way of of creating a generator via a comprehension expression
- Next message (by thread): [Python-Dev] Tricky way of of creating a generator via a comprehension expression
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
23.11.17 14:30, Antoine Pitrou пише:
On Thu, 23 Nov 2017 14:17:32 +0200 Serhiy Storchaka <storchaka at gmail.com> wrote:
I used the "yield" statement, but I never used the "yield" expressions. And I can't found examples. Could you please present a real-world use case for the "yield" (not "yield from") expression? Of course I can. "yield" expressions are important for writing Python 2-compatible asynchronous code while avoiding callback hell: See e.g. http://www.tornadoweb.org/en/stable/gen.html or https://jdb.github.io/concurrent/smartpython.html There are tons of real-world code written using this scheme (as opposed to almost no real-world code, even Python 2-only, using "yield" in comprehensions or generation expressions).
Thank you. The tornado examples contain the following equivalence code
for results = yield multi(list_of_futures)
:
results = []
for future in list_of_futures:
results.append(yield future)
Couldn't this by written as results = [(yield future) for future in list_of_futures]
?
- Previous message (by thread): [Python-Dev] Tricky way of of creating a generator via a comprehension expression
- Next message (by thread): [Python-Dev] Tricky way of of creating a generator via a comprehension expression
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]