On Thu, Aug 19, 2010 at 6:36 PM, Greg Ewing <greg.ew...@canterbury.ac.nz> wrote: > In other words, > > x[::] > > is being parsed as though it had been written > > x[::None] > > Is there a good reason for an omitted third slice > argument being treated differently from the others?
Probably so it looks different from the AST for x[:] >>> ast.dump(ast.parse("x[:]", mode='eval')) "Expression(body=Subscript(value=Name(id='x', ctx=Load()), slice=Slice(lower=None, upper=None, step=None), ctx=Load()))" >>> ast.dump(ast.parse("x[::]", mode='eval')) "Expression(body=Subscript(value=Name(id='x', ctx=Load()), slice=Slice(lower=None, upper=None, step=Name(id='None', ctx=Load())), ctx=Load()))" Or else it's just an accident of implementation, since the AST doesn't actually *need* to distinguish those two cases. Cheers, Nick. -- Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com