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
的意思是什么
相当于
调用
interval(10)
等同于调用interval(10, None, 1)
。在函数的最开始处,start
将是10
,而stop
将是None
,但是这个if
块随后将start
更改为0
,将stop
更改为10
相关问题 更多 >
编程相关推荐