python中的a = b = c是什么?

时间:2014-12-03 12:41:55

标签: python variables

我很困惑,连续相等的=可以在python中使用,如:

a = b = c

这个语言功能叫什么?有什么我可以读到的吗?

可以生成4等于吗?

a = b = c = d

2 个答案:

答案 0 :(得分:10)

这只是宣传ab等于c的方法。

>>> c=2
>>> a=b=c
>>> a
2
>>> b
2
>>> c
2

所以你可以随意使用:

>>> i=7
>>> a=b=c=d=e=f=g=h=i

您可以在此Python教程的Multiple Assignment中阅读更多内容。

  

Python允许您为多个变量分配单个值   同时。例如:

     

a = b = c = 1

     

这里,使用值1和全部三个创建整数对象   变量分配给相同的内存位置。你也可以   将多个对象分配给多个变量。例如:

     

a,b,c = 1,2,“john”

     

这里,分配了两个值为1和2的整数对象   变量a和b,以及一个值为“john”的字符串对象   分配给变量c。


还有另一种奇特的东西!您可以像这样交换值:a,b=b,a

>>> a=2
>>> b=5
>>> a,b=b,a
>>> a
5
>>> b
2

答案 1 :(得分:2)

python支持多变量赋值,称为多分配。

In [188]: a = b = c = d = 4

In [189]: a
Out[189]: 4

In [190]: b
Out[190]: 4

In [191]: c
Out[191]: 4

In [192]: d
Out[192]: 4

In [193]: a = 2

In [194]: b = 2

immutable对象

相同
In [195]: a, b = 2 #int is a immutable object like `tuple`, `str`

虽然这不是listdictionary等可变对象的意思 阅读mutable and immutable