tusharsadhwani · GitHub

Bug report

Bug description:

In accordance with PEP 701, the following code works:

>>> x = 1
>>> f"___{
...     x
... }___"
'___1___'
>>> f"___{(
...     x
... )}___"
'___1___'

But the following fails:

f"__{
    x:d
}__"

This gives:

  File "<stdin>", line 1
    x:d
SyntaxError: unterminated f-string literal (detected at line 2)

Is this intended behaviour? This is not clarified in the PEP.


Similarly,

f"""__{
    x:d
}__"""

Gives:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: Invalid format specifier 'd
' for object of type 'int'

CPython versions tested on:

3.12

Operating systems tested on:

macOS

Linked PRs

Read the original on github.com ↗