python运算符——赋值运算符

i=3+4
a=b=c=10
print(a,id(a))
print(b,id(b))
print(c,id(c))
print(a is b is c)
a+=30      #a=1+30
b-=10      #b=b-10
c*=3       #c=c*3
a/=3       #a=a/3
b//=3      #b=b//3
c%=3       #c=c%3

#解包赋值
a,b,c=10,20,30
print(a,b,c)

上述代码中有一段print(a is b is c),运行结果为True,根据前文学过的知识,证明了变量a,b,c的id也是相同的。

     在此对变量进行一个解释,每一个变量都由三部分构成,即变量标识变量类型数值三部分构成,变量标识即该变量的脸面,数值即是value。每一个变量数值都有一个ID与之对应,原因是,在变量初始化的时候,系统则会给该变量数值分配一块内存空间,用户可以通过该变量名引用该数值,但数值的本质还是对应内存中的一块空间,并且标号,即是ID。对应前端网站,变量标识即网站域名,ID则是该网站的IP地址。但与网站不同的是,变量在使用数值的时候仅仅是调用数值,即该变量标识指向了该数值分配的空间,用户通过变量名(即使变量标识)调用数值。数值的唯一体现即是该空间的地址ID

 

所以在上面的判断a,b,c是否为同一变量时,结果为True。即是a,b,c三个变量标识同时指向了id为1493598732816的空间,而is的判断是根据空间地址(ID)。

第二段中的解包赋值是python中较为便捷的赋值方式,也是python简单受欢迎的一个体现,而且可以将各自的数字随意调换。

a,b=10,20
a,b=30,40
print(a,b)    
     

#30 40

需要注意的是,在进行解包赋值时,变量个数要与数值数保持相同,否则系统会报错

你可能感兴趣的:(笔记,python)