[Python-Dev] PEP-498: Literal String Formatting
Yury Selivanov
yselivanov.ml at gmail.com
Mon Aug 10 20:44:08 CEST 2015
On 2015-08-10 2:37 PM, Eric V. Smith wrote:
>> Besides, any expression you have to calculate can go in a local that will get
>> >interpolated. The same goes for any !r or other formatting modifiers. In an
>> >i18n context, you want to stick to the simplest possible substitution
>> >placeholders.
> This is why I think PEP-498 isn't the solution for i18n. I'd really like
> to be able to say, in a debugging context:
>
> print('a:{self.a} b:{self.b} c:{self.c} d:{self.d}')
>
> without having to create locals to hold these 4 values.
Why can't we restrict expressions in f-strings to
attribute/item getters?
I.e. allow f'{foo.bar.baz}' and f'{self.foo["bar"]}' but
disallow f'{foo.bar(baz=something)}'
Yury
More information about the Python-Dev
mailing list