1. ホーム
  2. python

[解決済み] Python関数内のパラメータ名一覧の取得 [重複]。

2022-03-17 04:18:04

質問

<ブロッククオート

重複の可能性があります。
Pythonでメソッドのパラメータ名を取得する

Pythonの関数内にいて、パラメータ名のリストを取得する簡単な方法はありますか?

例えば

def func(a,b,c):
    print magic_that_does_what_I_want()

>>> func()
['a','b','c']

ありがとうございます。

解決方法は?

さて、実際に必要なのは inspect ここで

>>> func = lambda x, y: (x, y)
>>> 
>>> func.__code__.co_argcount
2
>>> func.__code__.co_varnames
('x', 'y')
>>>
>>> def func2(x,y=3):
...  print(func2.__code__.co_varnames)
...  pass # Other things
... 
>>> func2(3,3)
('x', 'y')
>>> 
>>> func2.__defaults__
(3,)

Python 2.5 以前のバージョンでは func_code の代わりに __code__ であり、かつ func_defaults の代わりに __defaults__ .