为什么看 Python 的代码,有时候会在数据结构的最后一项末尾加上逗号。直接来看,这个逗号很多余。

根据 PEP81 的解释:

Trailing commas are usually optional, except they are mandatory when making a tuple of one element

这里说末尾逗号不是必填的,除非你写了一个只有一个元素的元祖。

所以这么多人写的代码风格都是多余的?

不是的。PEP8 在上面一句的后来接着写道,末尾的代码可以帮助减少 bug:

比如多人协作项目,一个列表的项可能由不同的人添加,你留着一个逗号可以帮助下一个修改的人减少出 bug 的几率。
因为两个被引号包裹的字符串,会有自动合并功能。所以这也是一个潜在的 bug。

PEP8 继续提到,适合在结尾加上额外逗号的代码类似下面这样,末项以逗号结尾,再起一行加上闭合括号:

FILES = ['setup.cfg','tox.ini',]
initialize(FILES,error=True,)

但是,如果代码是下面这种形式,末尾逗号和闭合括号是紧连的,那这个逗号就没有必要了:

FILES = ['setup.cfg', 'tox.ini',]
initialize(FILES, error=True,)

转载于:https://www.cnblogs.com/thomaszdxsn/p/shen-me-shi-houPython-deListTuple-zui-hou-yi-geIte.html


  1. When to Use Trailing Commas ↩︎

什么时候 Python 的 List,Tuple 最后一个 Item 后面要加上一个逗号相关推荐

  1. 新年了做一个新年倒计时前加上一个浪漫的雪花飞舞效果

    先上效果图片,再上代码 效果 JS关键代码 //下雪效果 function snow(){const canvas = document.getElementById("background ...

  2. python语句print(tuple(range(2)))_Python学习(四)数据结构 —— list tuple range

    序列类型 list   tuple   range list 和 tuple list: 列表,由 [] 标识: 有序:可改变列表元素 tuple: 元组,由 () 标识: 有序:不可改变元组元素(和 ...

  3. Python list 和 tuple 使用小记

    list和tuple是Python内置的有序集合,一个可变,一个不可变.根据需要来选择使用它们. 1.内置数据类型,列表List >>> appleVersion = ['apple ...

  4. python里面的tuple与list对比

    python里面的tuple与list对比 tuple 另一种有序列表叫元组:tuple.tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字: >> ...

  5. [转载] python中元组(tuple)用法总结

    参考链接: Python | tuple函数 一.tuple也是一个class,是不可变的list类型,不可以增删改. 创建: tup1 = ('physics', 'chemistry', 1997 ...

  6. Python中list,tuple,dict,set的区别和用法

    Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List ...

  7. Python中的tuple

    1.空的tuple:     tup1 = (); 2.只含有一个元素的tuple: tup1 = (50,); #注意,必须有,尽管只有一个元素 3Delete Tuple Elements: Re ...

  8. Python list、tuple、dict区别

    本文转载自: https://www.cnblogs.com/michael-kong/archive/2012/07/11/2585840.html 作者:Michael-Kong 转载请注明该声明 ...

  9. python语句print(tuple(range(2)))_Python语句print(tuple(range(2)),list(range(2)))的运行结果是__________。...

    [单选题]( )是通信网中最早出现的一种交换方式,也是应用最普遍的一种交换方式,主要应用于电话通信网中,完成电话交换. [填空题]离心泵的流量调节实际上是改变泵的____点. [单选题]关于 的导数, ...

最新文章

  1. java二个整数相减_Java-消息框显示两整数加减乘除
  2. 神经网络无法区分异同,而且这个缺陷是本质性的
  3. ZooKeeper 的典型应用场景
  4. hi3559 h264
  5. 彻底掌握机器学习的6个主流模型,是什么水平?
  6. js实现贪吃蛇小游戏
  7. linux设置时间为24小时制,设置时区
  8. 如果再出恶性安全事件,滴滴会有人被追究刑责吗?
  9. 我的面试题-软件测试基础
  10. 解决vs2005中文乱码问题
  11. 2018leetcode算法面试题汇总部分解答
  12. iso27001信息安全体系认证意义
  13. 【AWVS12】安全漏洞扫描工具,使用详解
  14. 普通学校,非科班,从电脑小白到大厂offer的自学之路
  15. 让更多的开发者听到您的声音,移动开发征文活动现已开始 | 开发者说·DTalk
  16. 计算机网络信息安全毕业设计题目,网络信息安全系统毕业设计
  17. python打造批量关键词排名查询工具
  18. html设置图像边框的属性,css3将图像设置为元素周围边框的方法
  19. Spring之声明式事务控制(九)
  20. java 批量下载小说天堂的小说

热门文章

  1. 中国最火开博啦~~~
  2. 使用springboot+elementui实现模糊查询和增加
  3. 什么是Kerberos?
  4. 如何成为躺着赚钱的科学家
  5. 音频实验室搭建2-隔音棉、消音棉和尖劈海绵
  6. 重庆大学计算机学院研究生推免生百分比,2018年重庆大学硕士研究生推免生拟录取人数统计...
  7. 【前端】dashed 间距
  8. 【解决方案】AI智能+GPS定位,助力城市地摊管理的全面监控
  9. 从零开始Web自动化(三):通过selenium,9行代码实现打字网站的自动打字
  10. [健康]湿热体质者如何调理?