我如何将参数发送到称为间隔的函数

时间:2019-03-04 01:15:44

标签: python parameters

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,但我不知道该程序是如何做到的。程序为什么知道开始是0if stop is None: start,stop=0,start是什么意思?

1 个答案:

答案 0 :(得分:1)

if stop is None:
    start, stop=0,start

等同于

if stop is None:
    stop = start
    start = 0

呼叫interval(10)等同于呼叫interval(10, None, 1)。在函数的最开始,start将是10stop将是None,但是此if块将更改start0stop10