【发布时间】:2012-10-12 23:32:12
【问题描述】:
可能重复:
Is there any way to know if the value of an argument is the default vs. user-specified?
python - returning a default value
Python 的标准做法是使用None 作为默认参数值。
但是,如果客户端代码可能使用 None 作为合法参数值,这种惯用用法就不能很好地工作。在这种情况下,函数无法判断客户端代码是否省略了参数,或者它是否显式传递了None。这不好,除非(幸运地)函数的行为在两种情况下应该是相同的。
什么是好的解决方案?
【问题讨论】:
-
@JoshCaswell:我的副本更好地涵盖了这一点;另一个谈论使用
None作为默认值,而None不是该函数的合法值。
标签: python function python-3.x