python赋值语句规则

Python018

python赋值语句规则,第1张

规则:赋值语句必须是在赋值号(=)的左边是变量或对象的某个属性,不能是表达式;

1、赋值号(=)的右边是变量值、对象属性的值、表达式的值、计算式的值、函数值等等,不能是变量或对象。

2、赋值语句是由赋值表达式再加上分号构成的表达式语句。其一般形式为:变量=表达式赋值语句的功能和特点都与赋值表达式相同。它是程序中使用最多的语句之一。

3、在赋值语句的使用中需要注意以下几点:由于在赋值符“=”右边的表达式也可以又是一个赋值表达式,因此,下述形式变量=(变量=表达式)是成立的,从而形成嵌套的情形。其展开之后的一般形式为:变量=变量=?=表达式例如:a=b=c=d=e=5按照赋值运算符的右接合性,因此实际上等效于:e=5d=ec=db=ca=b。

如果是简单的int 之类的赋值 楼上说的是对的

但是 如果 a 是某个对象 比如是一个list 就是另外一个情况了

x=a 开辟了两块内存 一个存X一个存a

y=a 同上

而恰好 x y 指向内存中的值相等 仅此而已 改变x 根本不会影响到y

但是 x=a y=x 就不一样了

这里y 创建了x的一个浅复制 实际是指向的同一块内存

举个栗子:

x=[1,2,3]

y=[1,2,3]

x[0]=4

print x 是 [4,2,3]

print y 是[1,2,3]

但是 如果是

x=[1,2,3]

y=x

x[0]=4

print x 是[4,2,3]

print y 也是[4,2,3] 因为 x y 指向的是同一块内存