一个Python函数的问题?

def interval(start,stop=None,step=1):
if stop is None:
start,stop=0,step=1
print start,' ',stop,' ',step

调用的时interval(10)
结果是 0 10 1
可以知道stop的值在start,stop=0,start这一句之后变成了10,我想知道为什么????

神不在的星期二
浏览 571回答 4
4回答

PIPIONE

按照您的code,代码是无法编译的,简单的例证见图片。另外,您的代码是不是应该这样:def interval(start,stop=None,step=1):                if stop is None:                              start,stop=0,start                              step=1                print start,' ',stop,' ',step调用的时interval(10)结果是 0 10 1是因为start,stop = 0, start 这一句, 把0赋给start, start的值赋给stop

慕无忌1623718

start,stop=0,start相当于stop = startstart = 0也就是吧start的值10赋给stop然后把0赋值给startstop自然就变成了10

桃花长相依

start, stop = 0, start等价于(start, stop) = (0, start)就是给多个变量赋值,在《Python基础教程》的5.2.1节中有介绍。
打开App,查看更多内容
随时随地看视频慕课网APP