【发布时间】:2011-10-02 10:32:27
【问题描述】:
所以我正在编写一个函数,它接受一个可选列表并将其扩展到指定的长度。而不是写成 foo(n, list=None) 我想知道如何模拟 Python 的 range 函数的行为,它的工作原理如下:
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(5, 10)
[5, 6, 7, 8, 9]
即先使用默认参数。作为参考尝试天真地设置它会返回一个语法错误:
def foo(x=10, y):
return x + y
SyntaxError: non-default argument follows default argument
所以我想知道,这是硬编码到范围吗?还是可以模仿这种行为?
【问题讨论】:
-
你可以计算参数的数量。
-
@eryksun:在这种情况下,我认为这不是很有帮助。
标签: python range overloading default-value