求高手解释下面这段PYTHON代码,谢谢!

definterval(start,stop=None,step=1):'Imitatesrange()forstep>0'ifstopisNone:start,stop... def interval (start, stop=None, step=1):
'Imitates range() for step > 0'
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是赋给start了么?如果是,那 start, stop = 0, start 这一句是不是意思是把10又赋给了step? 那么接下来的语句应该循环不起来啊?!!
展开
 我来答
哲学家超人
2013-10-04 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:132
采纳率:0%
帮助的人:67.3万
展开全部
start, stop = 0, start 这种赋值方法相当于以下语句:

t = start
start = 0
stop = t
即分别将0和start赋值给start和stop。运行interval(10)时,stop为默认值None,由于有
if stop is None则运行以上语句,所以start = 0, stop = 10,step为默认值1。
后面的不需解释了吧
daweileo
2013-10-04 · TA获得超过275个赞
知道小有建树答主
回答量:121
采纳率:100%
帮助的人:160万
展开全部
如果只有一个参数的情况下,这一个参数要赋给stop

interval(10) 等价于于 interval(0, 10) 等价于 interval(0, 10, 1)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式