On 6/24/2021 11:28 PM, Guido van Rossum wrote:
On Thu, Jun 24, 2021 at 10:34 AM micro codery <ucod...@gmail.com
<mailto:ucod...@gmail.com>> wrote:
As pointed out already, f-strings and format are subtly different
(not counting that one can eval and the other cannot). Besides
quoting, the f-sting mini language has diverged from format's
>>> spam="Spam"
>>> f"{spam=}"
"spam='Spam'"
>>> "{spam=}".format(spam=spam)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'spam='
Eric, what would you think of adding this feature to format()? It
seems doable (at least for keyword args -- for positional args I don't
think it makes sense).
The only problem is that it already has a meaning, as unlikely as it is
that someone would use it:
>>> d = {'x = ': 42}
>>> "{x = }".format(**d)
'42'
Plus there's the issue of whitespace being treated differently with
f-strings and str.format().
Honestly, the rest of the discussion belongs on python-ideas.
I totally agree.
Eric
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at
https://mail.python.org/archives/list/python-dev@python.org/message/BVXP4MC7GCI6QWUQ7HHZC3KFV4RXYTIK/
Code of Conduct: http://python.org/psf/codeofconduct/