Python 有 ,= 操作符?
作者: somenzz   
  今天分享一個比較少見的用法,那就是 Python 是有 ,= 這種用法的,至于是它是否稱得上操作符,這個不重要。
 今天分享一個比較少見的用法,那就是 Python 是有 ,= 這種用法的,至于是它是否稱得上操作符,這個不重要。
咱們先一起回顧一下逗號相關的用法吧:
1,元組的組成部分
沒有逗號的括號,構不成元組,哪怕只有一個元素,也需要有逗號。
- In [6]: a = (1,)
 - In [7]: type(a)
 - Out[7]: tuple
 
2、交換兩個變量
- 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'
 
你想交換三個、四個、多個,也可以這樣做。
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、,= 操作符?
明白了以上操作,現在下面的代碼其運行結果是多少呢?
- a ,= [2]
 - b , = [2]
 - c , = (2,)
 - d , = {2}
 - e ,= range(2,3)
 - print(a,b,c,d,e)
 
如果你心中有了結果,可以看下是否符合預期:
- >>> a,=[2]
 - >>> b , = [2]
 - >>> c , = (2,)
 - >>> d , ={2}
 - >>> e , = range(2,3)
 - >>> print(a,b,c,d,e)
 - 2 2 2 2 2
 - >>>
 
只要可迭代對象內部僅有一個元素,就可以通過 ,= 的形式把這個值取出來,至于逗號和等號是否挨著,倒無所謂。
一句話,,= 就是拆解列表,元組,集合,可迭代對象的特例,要求其只能有一個元素。
責任編輯:武曉燕 
                    來源:
                    Python七號
 














 
 
 


 
 
 
 