2014-02-10 59 views
4

爲什麼如何閱讀Python中的典型函數文檔?

class multiprocessing.Pool([processes[,initializer[,initargs[,maxtasksperchild]]]]) 

有所有這些]]]]包括在內?

我不明白如何閱讀這個結構?

+0

注意,我明白,這看起來像一個愚蠢的愚蠢問題(我同意),但我找不到任何有關這種演示的官方文檔。 – PascalVKooten

回答

3

通常,在文檔中,[something]的讀法類似於'something是可選的'。在這種特殊情況下,這也意味着依賴,應該這樣寫:

  • processes是可選的,但如果你使用它,你也可以使用:
  • initializer,這是可選的,但如果你使用它還可以使用:
  • initargs,這是可選的,但是...等等
+0

所以它可以用0-4參數運行?簡單地用逗號分隔? – PascalVKooten

+0

簡而言之:是的。 – Matthias

2

使用[]表示封閉參數是可選的,可以省略。

3

「包含在方括號([])一個短語指零個或一個(換句話說,封閉短語是可選的)「

http://docs.python.org/2/reference/introduction.html#notation

[processes[,initializer[,initargs[,maxtasksperchild]]]]裝置實例initializer是可選的,但如果你使用initializer還必須使用processes等。這是嵌入式括號的意思。

如果你沒有名字,你可以在任何下面的例子中使用的參數(但沒有其他的組合!):

Pool() 
Pool(processes) 
Pool(processes, initializer) 
Pool(processes, initializer, initargs) 
Pool(processes, initializer, initargs, maxtasksperchild) 

否則,如果你的名字,你可以選擇使用其中任何一個的parameteres。構造函數有以下默認值:

Pool(processes=None, initializer=None, initargs=(), maxtasksperchild=None) 

參見構造(https://bitbucket.org/pypy/pypy/src/9d88b4875d6e/lib-python/2.7/multiprocessing/pool.py

的源代碼,瞭解更多關於關鍵字參數,你可以閱讀以下內容: http://docs.python.org/3/tutorial/controlflow.html#keyword-arguments