[Python-Dev] PEP 498 f-string: please remove the special case for spaces

Victor Stinner victor.stinner at gmail.com
Tue Aug 11 00:54:00 CEST 2015


PEP 498:
"""
Leading whitespace in expressions is skipped
<https://www.python.org/dev/peps/pep-0498/#id28>

Because expressions may begin with a left brace ('{'), there is a problem
when parsing such expressions. For example:

>>> f'{{k:v for k, v in [(1, 2), (3, 4)]}}'
'{k:v for k, v in [(1, 2), (3, 4)]}'

"""

For me, this example is crazy. You should not add a special case (ignore
spaces) just to support a corner case.

This example can easily be rewritten using a temporary variable and it
makes the code simpler.

items={k:v for k, v in [(1, 2), (3, 4)]; f'{items}'

Seriously, a dict-comprehension inside a f-string should be considered as
an abuse of the feature. Don't you think so?

Victor
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20150811/c1305b6e/attachment.html>


More information about the Python-Dev mailing list