gpt4 book ai didi

python - Python 范围函数如何在实际参数之前有一个默认参数?

转载 作者:太空狗 更新时间:2023-10-29 17:53:19 28 4
gpt4 key购买 nike

所以我正在编写一个函数,它接受一个可选列表并将其扩展到指定的长度。我没有将它写成 foo(n, list=None),而是想知道如何模拟 Python 范围函数的行为,它的工作方式如下:

>>> 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

所以我想知道,这是硬编码到范围内的吗?还是可以模仿这种行为?

最佳答案

其他人已经展示了如何使用参数计数来完成。不过,如果我自己用 Python 实现它,我会更像这样。

def range(start, limit=None, stride=1):
if limit is None:
start, limit = 0, start
# ...

关于python - Python 范围函数如何在实际参数之前有一个默认参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6644537/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com