如何在文档中解释python函数的参数?

时间:2015-05-24 02:17:24

标签: python

例如:

class multiprocessing.pool' s功能:

apply_async(func[, args[, kwds[, callback]]])

方括号是什么意思? 在以下代码中,当使用函数apply_async时,为什么args=(i,)如果args=i,则它无法正常工作。

from __future__ import print_function
from  multiprocessing import Pool
import os
import random
import time

def appear(name):
    print("{0} running {1} task".format(name, os.getpid()))
    start=time.time()
    time.sleep(random.random() * 3)
    end=time.time()
    print("{0} running for {1} seconds".format(name, (end - start)))

def f(a):
    return a * a

p=Pool()

for i in range(5):
    p.apply_async(appear, args=(i,))

print("waiting for all subprocess done..")
p.close()
p.join()
print("all done")

Python的模块函数有很多参数。很难理解它们。

1 个答案:

答案 0 :(得分:3)

方括号只表示参数是可选。您可以在不指定括号中的参数的情况下调用该方法。

文档指向apply() function;您也想阅读该功能的文档。它解释了不同论点的含义;比如args

  

args 参数必须是序列。

args=i不是序列,而args=(i,)则是; (i,)是一个元素元组,元组是一个序列。