2011-09-17 50 views
2

可能重複:
Getting list of parameters inside python function如何在Python中向函數請求函數的參數名稱?

例如假設我有

def foo(a, b='B'): return 

如何請問FOO告訴我,它所需的參數「A」和參數「B」,其中有「B」,因爲它的默認值?

+0

你可以用'幫助(富)' – JBernardo

+0

@JBernardo這對人類的作品看出來,但怎麼能我的程序訪問這些信息?據推測,幫助使用我正在尋找的機制。 – allyourcode

回答

4

使用inspect.getargspec

def foo(a, b='B'): pass 

import inspect 
print inspect.getargspec(foo) 

它可能會出現不明確哪個參數默認爲,而是因爲非默認參數不能按照默認參數,默認必須爲第二個參數。

編輯:鏈接複製好,答案有顯示,你可以得到相同的信息,而不inspect,使用func.func_code.co_varnamesfunc.func_defaultsfunc.__defaults__

+0

鏈接的東西,很可能不清楚 +備用解決方案 = MEGA真棒答案 +解釋! :d – allyourcode