I am entirely new to this list, but if I can I would like share my comments :

 * I do think this proposal <target> := <value> has merit in my
   opinion; it does make some code more readable.

 * I think readability is only improved if :

     * target is restricted to a simple name - I don't see a benefit in
       more complex targets
     * chaining is not allowed - I think the construct :

                while (line := input.read_row()) is not None:

            Is readable, but :

                while (current_line := line := input.read_row()) is not
                        line = process_line(line)

          is not obvious - and certainly isn't any more obvious than :

                while (line := input.read_row()) is not None:
                        current_line = line
                        line = process_line(line)

 * The current expectations of how comprehensions work should also be
   honored; I don't claim to have fully followed all of the discussions
   around this, but it seems to me that comprehensions work in a
   particular way because of a concerted effect (especially in Python
   3) to make them that way. They are self contained and don't leak
   values in their containing scope. Similarly I think that setting
   variables within a comprehension is just for the benefit of readable
   code within the comprehension - i.e. :

                stuff = [[y, x/y] for x in range(5) for y in [f(x)]]

                can become :

stuff = [[y := f(x), x/y] for x in range(5)]

So - overall from me a conditional +1 - conditions as above; if they are not possible then -1 from me.

Anthony Flury
email : *anthony.fl...@btinternet.com*
Twitter : *@TonyFlury <https://twitter.com/TonyFlury/>*

Python-Dev mailing list

Reply via email to