Python 有 ,= 操作符?
今天分享一個(gè)比較少見(jiàn)的用法,那就是 Python 是有 ,= 這種用法的,至于是它是否稱得上操作符,這個(gè)不重要。
咱們先一起回顧一下逗號(hào)相關(guān)的用法吧:
1,元組的組成部分
沒(méi)有逗號(hào)的括號(hào),構(gòu)不成元組,哪怕只有一個(gè)元素,也需要有逗號(hào)。
- In [6]: a = (1,)
 - In [7]: type(a)
 - Out[7]: tuple
 
2、交換兩個(gè)變量
- In [8]: a = 1
 - In [9]: b = 2
 - In [10]: a, b = b, a
 - In [11]: f"{a = } {b = }"
 - Out[11]: 'a = 2 b = 1'
 
你想交換三個(gè)、四個(gè)、多個(gè),也可以這樣做。
3、拆解列表,元組,或集合
- In [12]: a, b = [1,2]
 - In [13]: f"{a = } {b = }"
 - Out[13]: 'a = 1 b = 2'
 - In [14]: a, b = (3,4)
 - In [15]: f"{a = } {b = }"
 - Out[15]: 'a = 3 b = 4'
 - In [17]: a, b = {5,6}
 - In [18]: f"{a = } {b = }"
 - Out[18]: 'a = 5 b = 6'
 - In [19]:
 
4、,= 操作符?
明白了以上操作,現(xiàn)在下面的代碼其運(yùn)行結(jié)果是多少呢?
- a ,= [2]
 - b , = [2]
 - c , = (2,)
 - d , = {2}
 - e ,= range(2,3)
 - print(a,b,c,d,e)
 
如果你心中有了結(jié)果,可以看下是否符合預(yù)期:
- >>> a,=[2]
 - >>> b , = [2]
 - >>> c , = (2,)
 - >>> d , ={2}
 - >>> e , = range(2,3)
 - >>> print(a,b,c,d,e)
 - 2 2 2 2 2
 - >>>
 
只要可迭代對(duì)象內(nèi)部?jī)H有一個(gè)元素,就可以通過(guò) ,= 的形式把這個(gè)值取出來(lái),至于逗號(hào)和等號(hào)是否挨著,倒無(wú)所謂。
一句話,,= 就是拆解列表,元組,集合,可迭代對(duì)象的特例,要求其只能有一個(gè)元素。















 
 
 


 
 
 
 