Python 有 ,= 操作符?
作者: somenzz
今天分享一個比較少見的用法,那就是 Python 是有 ,= 這種用法的,至于是它是否稱得上操作符,這個不重要。
今天分享一個比較少見的用法,那就是 Python 是有 ,= 這種用法的,至于是它是否稱得上操作符,這個不重要。
咱們先一起回顧一下逗號相關(guān)的用法吧:
1,元組的組成部分
沒有逗號的括號,構(gòu)不成元組,哪怕只有一個元素,也需要有逗號。
- 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、,= 操作符?
明白了以上操作,現(xià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
- >>>
只要可迭代對象內(nèi)部僅有一個元素,就可以通過 ,= 的形式把這個值取出來,至于逗號和等號是否挨著,倒無所謂。
一句話,,= 就是拆解列表,元組,集合,可迭代對象的特例,要求其只能有一個元素。
責任編輯:武曉燕
來源:
Python七號