23.11.17 14:30, Antoine Pitrou пише:
On Thu, 23 Nov 2017 14:17:32 +0200
Serhiy Storchaka <storch...@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]`?

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to