[Python-Dev] PEP-498: Literal String Formatting

Brett Cannon brett at python.org
Sun Aug 9 19:38:55 CEST 2015

On Sun, 9 Aug 2015 at 01:07 Stefan Behnel <stefan_ml at behnel.de> wrote:

> Eric V. Smith schrieb am 08.08.2015 um 03:39:
> > Following a long discussion on python-ideas, I've posted my draft of
> > PEP-498. It describes the "f-string" approach that was the subject of
> > the "Briefer string format" thread. I'm open to a better title than
> > "Literal String Formatting".
> >
> > I need to add some text to the discussion section, but I think it's in
> > reasonable shape. I have a fully working implementation that I'll get
> > around to posting somewhere this weekend.
> >
> > >>> def how_awesome(): return 'very'
> > ...
> > >>> f'f-strings are {how_awesome()} awesome!'
> > 'f-strings are very awesome!'
> >
> > I'm open to any suggestions to improve the PEP. Thanks for your feedback.
> [copying my comment from python-ideas here]
> How common is this use case, really? Almost all of the string formatting
> that I've used lately is either for logging (no help from this proposal
> here) or requires some kind of translation/i18n *before* the formatting,
> which is not helped by this proposal either. Meaning, in almost all cases,
> the formatting will use some more or less simple variant of this pattern:
>     result = process("string with {a} and {b}").format(a=1, b=2)
> which commonly collapses into
>     result = translate("string with {a} and {b}", a=1, b=2)
> by wrapping the concrete use cases in appropriate helper functions.
> I've seen Nick Coghlan's proposal for an implementation backed by a global
> function, which would at least catch some of these use cases. But it
> otherwise seems to me that this is a huge sledge hammer solution for a
> niche problem.

So in my case the vast majority of calls to str.format could be replaced
with an f-string. I would also like to believe that other languages that
have adopted this approach to string interpolation did so with knowledge
that it would be worth it (but then again I don't really know how other
languages are developed so this might just be a hope that other languages
fret as much as we do about stuff).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20150809/1473d0f6/attachment.html>

More information about the Python-Dev mailing list