[Python-ideas] Briefer string format

Sven R. Kunze srkunze at mail.de
Fri Jul 24 19:02:49 CEST 2015


On 24.07.2015 04:16, Chris Angelico wrote:
>
> syntax, not something you apply to a string. You can't do this:
>
> fmt = "Hello, {place}!"
> place = "world"
> print(f fmt)
>
> If f were an operator, with precedence, then this would work. But it
> doesn't, for the same reason that this doesn't work:
>
> path = "C:\users\nobody"
> fixed_path = r path
>
> These are pieces of syntax, and syntax is at a level prior to all
> considerations of operator precedence.

You might be true about this. I think he just used operators as some 
sort of analogy to figure out which comes first: concat or format.

My semantic opinion on this: first format, then concat. Why? Because 
'...' is a atomic thing and shouldn't be modified by its peer elements 
(i.e. strings).


About implementation: the idea of first concat with **implicit** 
escaping braces illustrated another minor use case for me: no need to 
escape braces.

f'Let {var} = ''{x | x > 3}'

This way, the f syntax would really help readability when it comes to 
situations where many braces are used.


More information about the Python-ideas mailing list