相关疑难解决方法(0)

默认和非默认参数的顺序

在Python中,我理解默认参数出现在最后,非默认参数不能遵循默认参数.那样就好.例如:

>>> def foo(x=0, y):
        return x, y
SyntaxError: non-default argument follows default argument
Run Code Online (Sandbox Code Playgroud)

这没关系.

但是,当我想要第一个参数应该是默认参数的情况呢?例如,从上面的代码可以看出,x必须是第一个参数,它应该具有默认值0.

是否有可能做到这一点?我问,因为即使在range函数中,我猜它是这样的:

def range(start=0, end):
    pass
Run Code Online (Sandbox Code Playgroud)

那么这是如何完成的,如果不可能,这是如何实现的range呢?请注意,我坚持认为第一个参数是默认值,即整个点.我用它range作为一个例子,因为它完全符合我的问题.当然,一个可以实现range的def range(end, start=0),但是这不是重点.

python argument-passing

15
推荐指数
1
解决办法
2万
查看次数

标签 统计

argument-passing ×1

python ×1