我感到相当困惑,Python 中可以使用连续的等号=
,例如:
a = b = c
这种语言特性叫什么?有相关的阅读材料吗?
它能生成四个相等的东西吗?
a = b = c = d
这只是一种声明a
和b
等于c
的方法。
>>> c=2
>>> a=b=c
>>> a
2
>>> b
2
>>> c
2
所以你可以使用任意多的量:
>>> i=7
>>> a=b=c=d=e=f=g=h=i
您可以在Python教程中的多重赋值中阅读更多内容。
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
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`
虽然这并不是针对可变对象如list
和dictionary
的,但你可以阅读有关可变和不可变对象的内容。