2012-09-09 2 views
1
>>> def test(arg1, arg2, arg3=None): pass 
>>> test.func_code.co_varnames 
('arg1', 'arg2, 'arg3') 

에 대한 키워드 인수를 얻으려면?어떻게 내가 원하는 것은 같은 것이있는 기능

+1

이 * 모든 * 고정 인수가 키워드 인수에 대한 유효 대상입니다 :

inspect.getargspec()에 의해 반환 된 ArgSpec 인 as이 코드를 사용하여 기본값으로 인수 이름을 매핑 사전인가를 얻으려면. –

+0

가능한 [Function, Python에 대한 키워드 인수 가져 오기] (http://stackoverflow.com/questions/11915032/get-keyword-arguments-for-function-python) –

답변

5

inspect.getargspec()을 사용하면 함수가 예상하는 인수를 얻을 수 있습니다. 어떤 인수가 kwarg로 전달 될 수있는대로 keywords 속성을 볼 수 있듯이

>>> inspect.getargspec(test) 
ArgSpec(args=['arg1', 'arg2', 'arg3'], varargs=None, keywords=None, 
     defaults=(None,)) 

None이다; 존재할 경우 **kwargs 인수의 이름을 포함합니다.

defaults = dict(zip(*[reversed(l) for l in (as.args, as.defaults or [])])) 
관련 문제