Ответ 1
Как и в Python 3.6
, это невозможно. Это возможно в 3.7
в соответствии с сообщениями Issue 28942 - ожидание выражений в f-strings
в Python./p >
По этой причине автор PEP, в котором представлены выражения async
/await
, Юрий Селиванов, это сказать:
Я подозреваю, что причина в том, что
async
/await
не являются правильными ключевыми словами в 3.5/3.6, а хаки, которые у нас есть в токенизаторе для их распознавания, не работают в f-строках.Я задам этот вопрос себе, чтобы убедиться, что он разрешен в 3.7 как только мы создадим ключевые слова
async
/await
.
и действительно, токенизатор действительно выглядит относиться к ним специально.
Вы были правы, чтобы быть озадаченным этим, поскольку форматированные строки документированы как поддерживающие все допустимые выражения Python (с соответствующими ограничениями, которые эти выражения влекут за собой т.е. await
в функции async def
).
Я не верю, что есть способ обойти это на данный момент. Вам нужно будет придерживаться маршрута .format
, пока проблема не будет решена.