Python 中是否有一种简单的方法来检查可选参数的值是否来自其默认值,或者是因为用户在函数调用时显式设置了它?
并不真地。标准方法是使用用户不希望传递的默认值,例如一个object
实例:
DEFAULT = object()
def foo(param=DEFAULT):
if param is DEFAULT:
...
通常你可以只使用None
作为默认值,如果它作为用户想要传递的值没有意义。
另一种方法是使用kwargs
:
def foo(**kwargs):
if 'param' in kwargs:
param = kwargs['param']
else:
...
然而,这过于冗长,并使您的函数更难以使用,因为其文档不会自动包含param
范围。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)