Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

383
Visualizações
¿Por qué no es posible usar "await" en f-strings?

¿Por qué no es posible usar "await" en f-strings? ¿Hay alguna forma de obligar a f-strings a evaluar las expresiones de formato en el contexto de una función de rutina?

 $ python3 Python 3.6.0 (default, Mar 4 2017, 12:32:37) [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> async def a(): return 1 ... >>> async def b(): return 'The return value of await a() is {}.'.format(await a()) ... >>> async def c(): return f'The return value of await a() is {await a()}' ... File "<fstring>", line 1 (await a()) ^ SyntaxError: invalid syntax
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

A partir de Python 3.6 , esto no es posible . Será posible en 3.7 de acuerdo con los mensajes del problema 28942: espere expresiones en f-strings en el rastreador de errores de Python.

En cuanto a la razón, el autor del PEP que introdujo las expresiones async / await , Yury Selivanov, dijo lo siguiente:

Sospecho que la razón es que async / await no son palabras clave adecuadas en 3.5/3.6, y los trucos que tenemos en tokenizer para reconocerlos no funcionan en f-strings.

Me asignaré este problema para asegurarme de que se resuelva en 3.7 una vez que hagamos palabras clave async / await .

y, de hecho, el tokenizador parece tratarlos de manera especial .

Tenía razón al estar desconcertado por esto, ya que las cadenas formateadas están documentadas como compatibles con todas las expresiones válidas de Python (con las limitaciones apropiadas que implican esas expresiones, es decir, await en una función de async def ).

No creo que haya ninguna forma de eludir esto en este momento. Deberá seguir con la ruta .format hasta que se resuelva el problema.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda