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/

Reply via email to