[Python-Dev] Call for prudence about PEP-572

Giampaolo Rodola' g.rodola at gmail.com
Sun Jul 8 13:14:45 EDT 2018


On Sun, Jul 8, 2018 at 6:45 PM Steve Holden <steve at holdenweb.com> wrote:

> On Sun, Jul 8, 2018 at 10:41 AM, Giampaolo Rodola' <g.rodola at gmail.com>
> wrote:
>
>> ​[...]
>> I find that (space between the parentheses of a function call statement)
>> too unnatural as a place where to put an assignment. It is not even
>> "guarded" by a keyword like "if" or  "while" which can help as indicators
>> that an assignment may occur. Also, I think it's way too easy to confuse it
>> with a keyword argument:
>>
>>     >>> foo(x = 1)  # keyword arg
>>     >>> foo(x := 1)  # assignment + value passing
>> ​[...]
>>
>
> ​But the PEP 8 spellings are​
>
>     foo(x=1)
>
> and
>
>    f(x := 1).
>
> The extra spacing makes it obvious that this isn't a regular named
> argument.
>

What if the author of the code I'm reading didn't respect PEP-8? I don't
think it's fair to invoke PEP-8 as a counter-measure to obviate a syntax
which can clearly be mistaken with something else simply by omitting 2
spaces. Not to mention that I don't see why anyone would want to declare a
variable in there in the first place.

-- 
Giampaolo - http://grodola.blogspot.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20180708/708d4041/attachment.html>


More information about the Python-Dev mailing list