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

请教,关于python中在编写函数时,return和print退格位置不同结果不同的状况

状况1:

def last():
    a=0
    while a<100:
        a=a+1
    print a
print last()

输出结果是:

100 

None

def last():
    a=0
    while a<100:
        a=a+1
        print a
print last()

输出结果是1~~100外加一个None

状况2:

def fun():
    a=0
    sum=0
    while a<10:
        sum=sum+a*a
        a=a+1
    return sum
print fun()

输出结果是 285

def fun():
    a=0
    sum=0
    while a<10:
        sum=sum+a*a
        a=a+1
        return sum
print fun()

输出结果是:0

我想请教的问题:1、print和return位置不同分别代表什么意思?2、为什么最后结果中都会出现None?3、return状况下,第二个为什么输出值会是0


正在回答

1 回答

首先要弄清楚这两个词的含义,print是输出控制台的意思,就是打印出来给我们看一下;return是返回值,就是把return后面的参数的值赋予函数的返回值;

1、位置看你上面对齐的命令,第一个print对齐的是while循环,说明要等整个循环完再print,而第二个对准的是a=a+1,说明与这个评级,a赋完值后就要print,所以print先打印了1-100,return也是同理啊。

2、因为没有return,函数没有返回值;你打印出来也没有用啊,函数必须要有返回值了才能打印出来,所以都是none。课程上都说了的“如果没有return语句,函数执行完毕后也会返回结果,只是结果为 None。

3、还是跟对齐的解释一样,你对齐的是sum=sum+a*a和a=a+1。第一个循环就return了,sum上面的结果就是0啊,课程上也说了“函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。

我觉得我解释的很细了吧,希望你能理解~

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

请教,关于python中在编写函数时,return和print退格位置不同结果不同的状况

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信