Return value of an assignment statement?

John Henry john106henry at hotmail.com
Thu Feb 21 16:53:53 EST 2008


On Feb 21, 1:48 pm, John Henry <john106he... at hotmail.com> wrote:
> On Feb 21, 1:43 pm, mrstephengross <mrstevegr... at gmail.com> wrote:
>
>
>
> > Hi all. In C, an assignment statement returns the value assigned. For
> > instance:
>
> >   int x
> >   int y = (x = 3)
>
> > In the above example, (x=3) returns 3, which is assigned to y.
>
> > In python, as far as I can tell, assignment statements don't return
> > anything:
>
> >   y = (x = 3)
>
> > The above example generates a SyntaxError.
>
> > Is this correct? I just want to make sure I've understood the
> > semantics.
>
> > Thanks,
> > --Steve
>
> That's true, and I am happy that they decided to make that a syntax
> error.

BTW: The less obvious issues when coming from the C world are Python
syntax like these:

y = x = 3

a = 4

y = x = a

print x,y

a = 5

print x,y



More information about the Python-list mailing list