[issue28942] await expressions in f-strings
New submission from Adam Gregory:
Hi,
I've been playing with f-strings, which seem like a great addition to the language. I noticed in the definition of f_expression that it can include any or_expr. As far as I understand, this includes "await" expressions, so I tried using await inside an f-string in a coroutine with CPython 3.6.0b4. This produces a SyntaxError.
Should await be allowed in f-strings? I don't know if this is a bug or a documentation issue. Personally, I think it would be an occasionally useful feature - more so than yield, at least, which does work.
Ref: https://docs.python.org/3.6/reference/lexical_analysis.html#formatted-string...
----------
assignee: docs@python
components: Documentation, asyncio
messages: 282980
nosy: Adam Gregory, docs@python, gvanrossum, yselivanov
priority: normal
severity: normal
status: open
title: await expressions in f-strings
versions: Python 3.6
_______________________________________
Python tracker
Adam Gregory added the comment:
Replicated in CPython 3.6.0rc1
----------
_______________________________________
Python tracker
Changes by Serhiy Storchaka
Guido van Rossum added the comment:
I was going to say "no", but given that "yield" works, I think it is
reasonable to allow "await" as well. (And what about "yield from"?)
----------
_______________________________________
Python tracker
Yury Selivanov added the comment:
I was going to say "no", but given that "yield" works, I think it is reasonable to allow "await" as well. (And what about "yield from"?)
Agree.
I suspect the reason is that async/await aren't proper keywords in 3.5/3.6, and the hacks we have in tokenizer to recognize them aren't working in f-strings.
I'll assign this issue to myself to make sure it's resolved in 3.7 once we make async/await keywords.
----------
assignee: docs@python -> yselivanov
_______________________________________
Python tracker
Andrew Svetlov
Change by Andrew Svetlov
Yury Selivanov
Yury Selivanov
participants (5)
-
Adam Gregory
-
Andrew Svetlov
-
Guido van Rossum
-
Serhiy Storchaka
-
Yury Selivanov