mrstephengross 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.

Yes, but there is valid syntax for the common case you mentioned:

     y = x = 3

What you can't do (that I really miss) is have a tree of assign-and-test 
expressions:

        import re
        pat = re.compile('some pattern')

        if m = pat.match(some_string):
            do_something(m)
        else if m = pat.match(other_string):
            do_other_thing(m)
        else:
            do_default_thing()
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to