为了账号安全,请及时绑定邮箱和手机立即绑定

一个Python函数的问题?

一个Python函数的问题?

神不在的星期二 2019-02-27 07:07:29
def interval(start,stop=None,step=1):if stop is None:start,stop=0,step=1print start,' ',stop,' ',step调用的时interval(10)结果是 0 10 1可以知道stop的值在start,stop=0,start这一句之后变成了10,我想知道为什么????
查看完整描述

4 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

按照您的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



查看完整回答
反对 回复 2019-03-27
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

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

查看完整回答
反对 回复 2019-03-27
?
桃花长相依

TA贡献1860条经验 获得超8个赞

start, stop = 0, start等价于(start, stop) = (0, start)
就是给多个变量赋值,在《Python基础教程》的5.2.1节中有介绍。

查看完整回答
反对 回复 2019-03-27
  • 4 回答
  • 0 关注
  • 568 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信