函数对象有属性__defaults__
and __kwdefaults__
。我发现如果一个函数有一些默认参数,那么它们将作为一个元组放入__defaults__
but __kwdefaults__
is None
。何时使用属性__kwdefaults__
?
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 http://www.python.org/dev/peps/pep-3102/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)