今天分享一个比较少见的用法,那就是 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教程欢迎持续关注编程学习网
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/9969/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取