Python中的n元组之后的尾随逗号是否会改变其值?

时间:2015-04-24 21:50:11

标签: python multithreading

这是一个非常基本的疑问,我想到了。当我们在python中使用threading模块来启动一个新线程时,我看到了两种不同的方式,通过调用传递参数:

版本1:

thread = threading.Thread(target=tar,args=(4,0.25,))

版本2:

thread = threading.Thread(target=tar,args=(4,0.25))

不同之处在于在版本1调用结束时在参数列表的末尾添加了,。两个版本都运行正常,但我想知道上面两个版本之间是否存在任何显着差异,以及哪个版本更好的写入方式?如果没有什么区别,那么很多人和文章选择使用版本1并在参数列表末尾添加冗余,的原因没有区别。

1 个答案:

答案 0 :(得分:2)

编写2元组的两种形式是等价的。证明:

>>> (4,0.25,) == (4,0.25)
True

有关Python中有效元组语法的详细说明,请参阅https://wiki.python.org/moin/TupleSyntax。具体做法是:

  

在Python中,多元素元组看起来像:

     

1,2,3

     

基本元素是每个元素之间的逗号   元组。多元素元组可以用尾随写入   逗号,例如

     

1,2,3,

     

但是尾随的逗号是完全可选的。