当前位置: 首页 > 面试题库 >

Python-在元组定义中使用逗号结尾的语法规则是什么?

何修能
2023-03-14
问题内容

在单个元素元组的情况下,需要尾随逗号。

a = ('foo',)

那么具有多个元素的元组呢?似乎尾随逗号是否存在,它们都有效。它是否正确?我认为使用逗号结尾更易于编辑。那是不好的编码风格吗?

a = ('foo1', 'foo2')
b = ('foo1', 'foo2',)

问题答案:

在所有情况下,除了空元组,逗号都是重要的事情。仅在出于其他语法原因而需要时才需要括号:将元组与一组函数参数,运算符优先级区分开或允许换行。

元组,列表或函数参数的尾部逗号是一种不错的样式,尤其是当你有一个长的初始化并分为多行时。如果始终包含尾随逗号,则不会在末尾添加任何行,而期望添加另一个元素,而只是创建一个有效的表达式:

a = [
   "a",
   "b"
   "c"
]

假设最初是由2个元素组成的列表,后来又进行了扩展,那么它以可能不是立即显而易见的方式出错了。始终添加结尾逗号,可以避免使用此陷阱。



 类似资料:
  • 问题内容: 这段代码来自http://docs.python.org/2/tutorial/errors.html#predefined-clean-up- actions 我不明白的是print命令末尾的含义。 我还检查了文档http://docs.python.org/2/library/functions.html#print。 没有足够的理解,这是一个错误吗?(似乎不是。它来自官方教程)。

  • 问题内容: 在Python中,这样的结尾逗号当然不是: 但是,与此同时,如果 意外地用 了逗号结尾,可能很难抓住这种“问题”,尤其是对于Python新手。 我在想,是否可以借助智能代码质量控制功能 尽早地 静态地 解决这种“问题”?,或静态代码分析工具。 或者,另一个想法是 限制/突出显示隐式创建一个元组而没有括号 。可能吗? 问题答案: 已经将其检测为问题(从1.7版开始)。 例如,这是我的:

  • 问题内容: 来自python Wiki 多元元组 在Python中,多元元组看起来像: … 但是,再次定义元组的是逗号而不是括号。 真的吗?! 那么为什么: 更严重的是,我不明白为什么不选择括号而不是逗号? 因为我认为在以下情况下会产生悖论: 但是,如果您认为圆括号 总是 负责实例化a ,那么用多个项目实例化的所有问题 都消失了。 例如在我的想象世界中: 我知道这是一个众所周知的功能,如果已经重复

  • 问题内容: 我从数据库中得到了String,它有多个逗号()。我想删除 最后一个逗号, 但实际上找不到一种简单的方法。 我有的: 我想要的是: 问题答案: 要删除紧随字符串结尾的部分,您可以执行以下操作: 相对于/ solution,它需要对此类情况进行特殊处理,这可以优雅地处理空列表(空字符串)。 示例代码: 注意: 由于存在有关零件的一些注释和建议的编辑:表达式应与要删除的尾部零件匹配。 如果

  • 问题内容: 数组初始化器可用于在编译时初始化数组。带有尾随逗号的初始化器,如下所示,可以正常编译。 输出: 在上述讨论中显而易见的一维数组也是合法的。 输出: 即使下面的内容是合法的语法,也可以编译。 编译器在逗号前后应有一个常量值(或另一个初始化程序)。如何编译?编译器是否只是忽略了这种逗号或在这种情况下发生了其他事情? 问题答案: 末尾的逗号将被忽略。根据Java规范: 尾部逗号可能会出现在数

  • 问题内容: 、 我很困惑backtick中内容的功能,例如。 只是像这样评论吗? 问题答案: 您可以以标签的形式向Go结构添加额外的元信息。、。 在这种情况下,使用由JSON包到的值编码到所述键中相应的JSON对象。 例: