[Python-Dev] assignment expressions: an alternative proposal
Yury Selivanov
yselivanov.ml at gmail.com
Tue Apr 24 11:49:28 EDT 2018
On Tue, Apr 24, 2018 at 11:34 AM, Steven D'Aprano <steve at pearwood.info> wrote:
> On Tue, Apr 24, 2018 at 11:05:57AM -0400, Yury Selivanov wrote:
>
>> Well, `my_func(a=(b:=foo))` or `my_func(b:=foo)` are also barely
>> readable to my eye.
>
> There's no advantage to using binding-expressions unless you're going to
> re-use the name you just defined, and that re-use will give you a hint
> as to what is happening:
>
> my_func(arg, buffer=(buf := [None]*get_size()), size=len(buf))
Again, this is very subjective, but this code would fail my code review :)
Don't you find
buf = [None] * get_size()
my_func(arg, buffer=buf, size=len(buf))
to be more readable?
IMHO this example is why we shouldn't implement any form of assignment
expressions in Python :)
Yury
More information about the Python-Dev
mailing list