On 4/26/2018 6:20 AM, Steve Holden wrote:
On Thu, Apr 26, 2018 at 8:56 AM, Steven D'Aprano <email@example.com
On Thu, Apr 26, 2018 at 03:31:13AM -0400, Terry Reedy wrote: > On 4/25/2018 8:20 PM, Chris Angelico wrote: > >On Thu, Apr 26, 2018 at 10:11 AM, Yury Selivanov > ><firstname.lastname@example.org <mailto:email@example.com>> wrote: > >>Just yesterday this snippet was used on python-dev to show how great the > >>new syntax is: > >> > >> my_func(arg, buffer=(buf := [None]*get_size()), size=len(buf)) > > What strikes me as awful about this example is that len(buf) is > get_size(), so the wrong value is being named and saved. > 'size=len(buf)' is, in a sense, backwards. Terry is absolutely right, and I'm to blame for that atrocity. Mea culpa.
Perhaps a better spelling would be
my_func(arg, buffer=[None]*(buflen := get_size()), size=buflen)
That is exactly what I wrote in the continuation that Steven snipped.
-- Terry Jan Reedy