Python has many string formatting styles which have been added to the language over the years. Early Python used the % operator to injected formatted values into strings. And we have string.format() which offers several powerful styles. Both were verbose and indirect, so f-strings were added in Python 3.6. But these f-strings lacked security features (think little bobby tables) and they manifested as fully-formed strings to runtime code. Today we talk about the next evolution of Python string formatting for advanced use-cases (SQL, HTML, DSLs, etc): t-strings. We have Paul Everitt, David Peck, and Jim Baker on the show to introduce this upcoming new language feature.
Episode sponsors
Posit
Auth0
Talk Python Courses
Links from the show
Guests:
Paul on X: @paulweveritt
Paul on Mastodon: @
[email protected] Dave Peck on Github: github.com
Jim Baker: github.com
PEP 750 – Template Strings: peps.python.org
tdom - Placeholder for future library on PyPI using PEP 750 t-strings: github.com
PEP 750: Tag Strings For Writing Domain-Specific Languages: discuss.python.org
How To Teach This: peps.python.org
PEP 501 – General purpose template literal strings: peps.python.org
Python's new t-strings: davepeck.org
PyFormat: Using % and .format() for great good!: pyformat.info
flynt: A tool to automatically convert old string literal formatting to f-strings: github.com
Examples of using t-strings as defined in PEP 750: github.com
htm.py issue: github.com
Exploits of a Mom: xkcd.com
pyparsing: github.com
Watch this episode on YouTube: youtube.com
Episode transcripts: talkpython.fm
--- Stay in touch with us ---
Subscribe to Talk Python on YouTube: youtube.com
Talk Python on Bluesky: @talkpython.fm at bsky.app
Talk Python on Mastodon: talkpython
Michael on Bluesky: @mkennedy.codes at bsky.app
Michael on Mastodon: mkennedy