【发布时间】:2021-01-20 21:32:45
【问题描述】:
我发现只有参数列表末尾的参数可以具有默认值,因为 VALUES 是按函数中的位置分配的,如下面定义的那样
def greeting(a,b=7):
pass
不是
def greeting(a=4,b):
pass
我对内置 range() 函数的疑问是我们可以按如下方式传递参数
range(start_value, stop_value, increment_value)
调用函数时并不需要所有参数,所以range() 函数是重载函数,还是定义中有默认参数?
【问题讨论】:
-
如果想实现类似的功能,请参考class - Python function overloading - Stack Overflow。
-
但是对于“它是如何实现的”,...我认为实现是用 C 语言实现的(你为什么想知道呢?)
-
你的问题不清楚,
range()确实有可选参数。不清楚如何使用?或者不清楚您将如何自己编写这样的函数?请具体。 -
@Grismar,我知道使用 range() 函数,但我没有编写类似的函数。我的疑问是是否有可选参数,那么它应该只在最后而不是在第一个右边(我问的是内置 range() 函数中的 start_value 。
-
所以你问
range()函数如何处理可选的起始值?为什么你需要知道?如果你想写一个类似的函数,问一个直接的问题。如果您只是好奇,请查看源代码。如果不明白怎么用,举个使用例子吧。
标签: python range default-parameters