3 ms·
As of python 3.6 you can nest fstrings. Not all formatters and highlighters have caught up, though. Which is fun, because correct highlighting depends on langu
by Tarean 2y ago
As of python 3.6 you can nest fstrings. Not all formatters and highlighters have caught up, though.
Which is fun, because correct highlighting depends on language version. Haskell has similar problems where different compiler flags require different parsers. Close enough is sufficient for syntax highlighting, though.
Python is also a bit weird because it calls the format methods, so objects can intercept and react to the format specifiers in the f-string while being formatted.
- panzi 2y agoI didn't mean nested f-strings. I mean this is a syntax error: >>> print(f"foo {"bar"}") SyntaxError: f-string: expecting '}' Only this works: >>> print(f"foo {'bar'}") foo bar
- pdw 2y agoYou're using an old Python version. On recent versions, it's perfectly fine: Python 3.12.7 (main, Oct 3 2024, 15:15:22) [GCC 14.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> print(f"foo {"bar"}") foo bar