[Python-Dev] assignment expressions: an alternative proposal
Yury Selivanov
yselivanov.ml at gmail.com
Tue Apr 24 12:07:37 EDT 2018
More information about the Python-Dev mailing list
Tue Apr 24 12:07:37 EDT 2018
- Previous message (by thread): [Python-Dev] assignment expressions: an alternative proposal
- Next message (by thread): [Python-Dev] assignment expressions: an alternative proposal
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Tue, Apr 24, 2018 at 11:58 AM, Chris Angelico <rosuav at gmail.com> wrote: > On Wed, Apr 25, 2018 at 1:49 AM, Yury Selivanov <yselivanov.ml at gmail.com> wrote: >> On Tue, Apr 24, 2018 at 11:34 AM, Steven D'Aprano <steve at pearwood.info> wrote: [..] >>> 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? > > Only if 'buf' is going to be used elsewhere. I'd be looking down below > for some other use of 'buf'. Technically the same could be true of the > inline assignment, but it makes more sense for a "this statement only" > name binding to be within that statement, not broken out and placed > above it as another operation at equal importance. Well, you can use empty lines to visually indicate that 'buf' is related to the call. Moreover, 'buf' is still available to the code below that code and sometimes be used there. You can't tell for sure until you glance over the entire file/function. PEP 572 does not implement any sort of sub-scoping. Yury
- Previous message (by thread): [Python-Dev] assignment expressions: an alternative proposal
- Next message (by thread): [Python-Dev] assignment expressions: an alternative proposal
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list