我正在读这个
http://docs.python.org/dev/library/multiprocessing.html
特别是这个
p = multiprocessing.Process(target=time.sleep, args=(1000,))
我试过同样的方法,但如果我在 1000 之后删除“,”,它就不起作用了。所以我的问题是在这种情况下 args=(1000,) 背后的语义是什么?加逗号和不加逗号有什么区别?
p/s:我认为这是一个基本问题,如果可能的话,有人可以指点我进一步阅读吗?谢谢。
谢谢。
问候, 安迪。
请您参考如下方法:
如果您只是输入 (1000),Python 会假设您只是将表达式作为数学计算,因此它会简化为 1000。想想 5 + (1000 ) + 4。
正如上面的表达式将被简化为 1009 一样,以下是简化后您的行的样子:
p = multiprocessing.Process(target=time.sleep, args=1000)
你可以看到这根本不是一回事。 args 应该是参数元组,而不是单个整数。
如果你输入 (1000,),Python 可以告诉你正在寻找一个只包含一个元素的元组,因为该表达式与简单的算术表达式可微分,所以你最终传入正确的事情。
