【发布时间】:2018-02-27 01:36:25
【问题描述】:
让我们考虑一下
foo(arg1=123, arg2=None) 和 foo(arg1=123).
请告诉我,如果这两种方式是等价的?
【问题讨论】:
-
提示:为什么你认为它们是等价的?
-
你想要overloaded函数吗?
-
@heemayl 因为在
foo(arg1=123)的情况下,我们也有arg2=None。是吗? -
我已经添加了答案。
-
@newbie 仅当
def foo(arg1, arg2=None)。没有隐含的默认值;如果foo定义为def foo(arg1, arg2),则foo(arg1=123)是一个错误,因为您没有为所需的参数arg2提供值。
标签: python