2013-07-08 22 views

Odpowiedz

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

print(foo.__kwdefaults__) 

Output (Python 3):

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

Od *args by połknąć wszystkie argumenty nie słów kluczowych, argumenty po to mają być przekazywane za pomocą słów kluczowych. Zobacz PEP 3102.

6

Służy do keyword-only arguments:

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

>>> def a(*args, a=1): pass 
... 
>>> a.__kwdefaults__ 
{'a': 1} 
Powiązane problemy