回答
使用從Python的標準庫中的inspect方法(執行內省最清潔,最可靠的方法)。
具體來說,inspect.getargspec(f)
返回名稱和默認值f
的論點 - 如果你只是想名字和不關心特殊形式*a
,**k
,
import inspect
def magical_way(f):
return inspect.getargspec(f)[0]
完全符合您表達的要求。
您還可以在Python 2.6或更高版本中使用'return inspect.getargspec(f).args' – 2010-08-19 00:56:12
@gnibbler,true,如果您使用的是Python App Engine(或嵌入Python 2.5的應用程序或更早的版本);我給出了可以在任何Python中使用的方法(自從2.1將'inspect'添加到標準庫之後) – 2010-08-19 01:05:15
太棒了,非常感謝 – Bemmu 2010-08-19 02:04:08
>>> import inspect
>>> def foo(bar, buz):
... pass
...
>>> inspect.getargspec(foo)
ArgSpec(args=['bar', 'buz'], varargs=None, keywords=None, defaults=None)
>>> def magical_way(func):
... return inspect.getargspec(func).args
...
>>> magical_way(foo)
['bar', 'buz']
請注意, '.args'只能在Python 2.6及更高版本中運行,對於舊版本,您必須使用'[0]'而不是' – Wolph 2010-08-19 01:03:31
+1'來提供'magical_way()'函數。 – 2010-08-19 01:22:49
- 1. 導出的函數名稱不包含參數列表
- 2. 如何傳遞函數名稱列表作爲參數?
- 3. 打印具有唯一參數的函數的名稱列表
- 4. SQL Server:發送參數到函數 - 參數是表的名稱
- 5. Python函數參數:元組/列表
- 6. python中lambda函數的列表參數
- 7. Python - 函數/參數元組列表
- 8. 在python中用函數參數命名的列表
- 9. D:函數參數名稱introspection
- 10. 帶名稱參數的函數文字
- 11. R獲取函數參數的名稱
- 12. 父函數的名稱和參數
- 13. 閃光get函數的參數名稱
- 14. 使用函數名稱作爲參數
- 15. 無參數的動態列表參數名稱
- 16. 函數參數名稱和類變量名稱的區別
- 17. '&'在函數參數列表
- 18. MS Access,命名參數和列名稱
- 19. 函數名稱$
- 20. 正則表達式來提取函數名稱,它的參數
- 21. 正則表達式 - 函數的匹配參數名稱
- 22. 當局部變量名稱與函數參數名稱相同時,將關鍵字參數傳遞給函數
- 23. 如何將函數名稱作爲參數應用jquery函數?
- 24. 宏從函數內部獲取函數名稱和參數值
- 25. lapply當兩個列表元素的名稱是函數的參數
- 26. 獲取作爲函數參數提供的列表變量的名稱
- 27. 列表名稱在數學
- 28. 帶單參數的Python參數列表
- 29. Python:按名稱傳遞參數
- 30. Python函數參數
重複:http://stackoverflow.com/questions/582056/getting-list-of-parameters-inside-python-function,http://stackoverflow.com/questions/218616/getting-method-參數名稱在蟒蛇 – 2010-08-19 01:25:17
也許還有一個是必要的,因爲我花了好半個小時試圖谷歌這沒有擊中那些愚蠢。 – Bemmu 2010-08-19 02:03:37
這是OP現在的第一次打擊,這要歸功於OP問這個問題的方式。通過更好地構建問題來更容易地找到答案,這對於那些尋找答案的用戶來說絕對是相關的。 – episodeyang 2017-04-13 19:44:24