Python元组问题

Python元组问题,python,tuples,Python,Tuples,我正在读这个 特别是这个 p = multiprocessing.Process(target=time.sleep, args=(1000,)) 我也试过同样的方法,但是如果我在1000后移除“,”它就不起作用了。所以我的问题是,在这种情况下,args=(1000,)背后的语义是什么?如果我用逗号而不是,有什么区别 p/s:我认为这是一个基本问题,如果是的话,如果可能的话,有人能告诉我进一步的阅读吗?谢谢 谢谢 问候,, Andy。如果你只是把(1000)放进去,Python假设你只是把表

我正在读这个

特别是这个

p = multiprocessing.Process(target=time.sleep, args=(1000,))
我也试过同样的方法,但是如果我在1000后移除“,”它就不起作用了。所以我的问题是,在这种情况下,args=(1000,)背后的语义是什么?如果我用逗号而不是,有什么区别

p/s:我认为这是一个基本问题,如果是的话,如果可能的话,有人能告诉我进一步的阅读吗?谢谢

谢谢

问候,, Andy。

如果你只是把
(1000)
放进去,Python假设你只是把表达式当作数学来计算,因此它被简化为1000。想想
5+(1000)+4
的结果

正如上面的表达式将简化为
1009
,以下是简化后的代码行:

p = multiprocessing.Process(target=time.sleep, args=1000)
你可以看到这根本不是一回事
args
应该是参数的元组,而不是单个整数

如果您输入
(1000,)
,Python可以告诉您正在寻找一个只包含一个元素的元组,因为该表达式与简单的算术表达式是可区分的,因此您最终会输入正确的内容。

如果您只输入
(1000)
,Python假定您只是将表达式作为数学进行计算,因此,它被简化为只有1000个。想想
5+(1000)+4
的结果

正如上面的表达式将简化为
1009
,以下是简化后的代码行:

p = multiprocessing.Process(target=time.sleep, args=1000)
你可以看到这根本不是一回事
args
应该是参数的元组,而不是单个整数


如果您输入
(1000,)
,Python可以告诉您正在寻找一个只包含一个元素的元组,因为该表达式与简单的算术表达式是可区分的,因此您最终会传递正确的内容。

(1000)
到解释器只意味着它在一组括号中是1000。它与(1000+1000)有着相同的含义,正如你所看到的,它也不是元组。

(1000)
对于解释器来说,仅仅意味着它在一组括号中是1000。它与(1000+1000)具有相同的含义,正如您所看到的,这也不是元组。

它非常简单——python解释器必须能够区分将值放入括号--
(1000)
--和将值放入元组之间的区别:
(1000,)

这很简单——python解释器必须能够分辨将值放入括号--
(1000)
--和将其放入元组之间的区别:
(1000,)
这是一个元组。这是Python中的一个语法漏洞,但请仔细想想:您怎么知道
(500)
是一个元组而不仅仅是500?由于在Python中括号也用于操作顺序,因此需要进行一些区分。如果元组中只有一个元素,则必须有尾随逗号

这是一个元组。这是Python中的一个语法漏洞,但请仔细想想:您怎么知道
(500)
是一个元组而不仅仅是500?由于在Python中括号也用于操作顺序,因此需要进行一些区分。如果元组中只有一个元素,则必须有尾随逗号