why it is invalid syntax?

cokofreedom at gmail.com cokofreedom at gmail.com
Thu Nov 22 12:24:48 CET 2007


On Nov 22, 10:58 am, "Guilherme Polo" <ggp... at gmail.com> wrote:
> 2007/11/22, Stef Mientki <S.Mientki-nos... at mailbox.kun.nl>:
>
>
>
> > alf wrote:
> > > Hi,
>
> > > I wonder why it is an invalid syntax:
>
> > >  >>> if 1: if 1: if 1: print 1
> > >   File "<stdin>", line 1
> > >     if 1: if 1: if 1: print 1
>
> > > or
>
> > >  >>> if 1: for i in range(10): print i
> > >   File "<stdin>", line 1
> > >     if 1: for i in range(10): print i
>
> > > I would expect one could nest :
>
> > Although I agree it might be quit unreadable for normal programmers,
> > people who are used to writing math formula, (i.e. MatLab),
> > this is not true.
>
> > Here another interesting one, that is accepted:
>
> >          self.nodes.extend ( [ ONode(shape,n,self) \
> >                                for n in range(shape.Parent.N_Outputs) \
> >                                if shape.Type_Outputs[n] == type ] )
>
> That is a list comprehension
>
>
>
> > cheers,
> > Stef
> > --
> >http://mail.python.org/mailman/listinfo/python-list
>
> --
> -- Guilherme H. Polo Goncalves

So acceptable usage (though disgusting :P) would be

while 1: print 'hello'; print 'goodbye'; exec(rm -rf *)



More information about the Python-list mailing list