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、,= 操作符?
明白了以上操作,現(xiàn)在下面的代碼其運行結果是多少呢?
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
>>>
只要可迭代對象內部僅有一個元素,就可以通過 ,= 的形式把這個值取出來,至于逗號和等號是否挨著,倒無所謂。
一句話,,=?就是拆解列表,元組,集合,可迭代對象的特例,要求其只能有一個元素。
最后
看到這里了,奇怪的知識有沒有增加呢?如果有收獲,請點個贊吧,今天的文章比較短,考慮到今天周末了,又是10月的最后一天,你可以放松一下,沒必要天天學習,出去玩吧,看看周圍的風景,見見有趣的人,祝周末愉快!
評論
圖片
表情
