Virgil Dupras wrote: > On Mar 21, 9:24 pm, Steve Holden <[EMAIL PROTECTED]> wrote: >> Marcin Ciura wrote: >>> Steven D'Aprano wrote: >>>>>>> x, y, z = 1, 2, 3 >>>>>>> x = y = z >>>>>>> x, y, z >>>> (3, 3, 3) >>>> I certainly wouldn't expect to get (2, 3, 3). >>> Neither would I. I must have expressed myself not clearly enough. >>> Currently >>> x = y = z >>> is roughly equivalent to >>> x = z >>> y = z >>> I propose to change it to >>> y = z >>> x = z >>> Cheers, >>> Marcin >> The difference being ... ? >> -- >> Steve Holden +44 150 684 7255 +1 800 494 3119 >> Holden Web LLC/Ltd http://www.holdenweb.com >> Skype: holdenweb http://del.icio.us/steve.holden >> Recent Ramblings http://holdenweb.blogspot.com > > I think I see what Marcin means. The 'node' is changed too fast in the > chain, and next is assigned to 'nextnode' instead of being assigned to > node. > >>>> class Node: > ... pass > ... >>>> node = Node() >>>> nextnode = Node() >>>> backup_node = node >>>> node = node.next = nextnode >>>> node.next is node > True >>>> hasattr(backup_node,'next') > False > So we should take the already well-defined semantics of assignment and change them because it seems more obvious to J. Random User? I think I might be a little concerned about potential code breakage there.
regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://del.icio.us/steve.holden Recent Ramblings http://holdenweb.blogspot.com -- http://mail.python.org/mailman/listinfo/python-list