python中表达式赋值与链式赋值的区别

python支持普通赋值,链式赋值,增量赋值,但不支持表达式赋值。

   普通赋值:x  =1

    增量赋值:x = 1 ; x  += 1

   链式赋值---同时对几个变量进行赋值,例子如下

                                                                                           

>>> x = 1
>>> x = y = x + 1
>>> x,y
(2, 2)

    在其它语言,如C语言中,支持表达式赋值,就是说,表达式是有返回值的,例如x = 1;y = (x += 1)),那么x,y的值都是2,在python中,会发生什么情况呢?

    

>>> x = 1
>>> y = (x += 1)
SyntaxError: invalid syntax
>>> y = (x = x+1)
SyntaxError: invalid syntax
>>> 

 

    上面的例子说明一个问题:python不支持表达式赋值。


    python还支持多元赋值,在一句话中,对多个变量进行赋值,eg:x ,y ,z = 1,2,"xyz"(一般x =1;y =2; z ="xyz"),或者是使用如下的表达式

 

 >>> (x,y,z) = (3,4,5)
>>> x
3
>>> y
4
>>> z
5
>>> 
posted @ 2015-08-20 11:32  绿萝菇凉  阅读(2936)  评论(0编辑  收藏  举报