2013-07-08 3 views

答えて

7
def foo(arg1, arg2, arg3, *args, kwarg1="FOO", kwarg2="BAR", kwarg3="BAZ"): 
    pass 

print(foo.__kwdefaults__) 

出力(Pythonの3):

{'kwarg1': 'FOO', 'kwarg2': 'BAR', 'kwarg3': 'BAZ'} 

それがキーワードで渡されなければなら後*argsは、すべての非キーワード引数、引数を飲み込むだろうので。 PEP 3102を参照してください。

6

それはkeyword-only argumentsのために使用されます。

>>> def a(a, *, b=2): pass 
... 
>>> a.__kwdefaults__ 
{'b': 2} 

>>> def a(*args, a=1): pass 
... 
>>> a.__kwdefaults__ 
{'a': 1} 
関連する問題