如何将参数发送到中调用的函数

2024-03-28 17:03:47 发布

您现在位置:Python中文网/ 问答频道 /正文

def interval(start,stop=None,step=1):
    if stop is None:
        start, stop=0,start
    result=[]
    i=start
    while i<stop:
        result.append(i)
        i+=step
    return result

如果我通过interval(10)调用函数,结果是[0,1,2,3,4,5,6,7,8,9]。问题是:哪个参数接收10?我想应该是stop,但我不知道这个程序是怎么做到的。为什么程序知道开始是0?那if stop is None: start,stop=0,start的意思是什么


Tags: 程序none参数returnifisdefstep
1条回答
网友
1楼 · 发布于 2024-03-28 17:03:47
if stop is None:
    start, stop=0,start

相当于

if stop is None:
    stop = start
    start = 0

调用interval(10)等同于调用interval(10, None, 1)。在函数的最开始处,start将是10,而stop将是None,但是这个if块随后将start更改为0,将stop更改为10

相关问题 更多 >