学python啊嘿哈 发表于 2020-2-23 11:18:29

return

函数中的return到底是打印出结果的意思 还是将结果返回到函数中的意思呢
例如
>>>def Fun1():
                    x = 5
                    def Fun2():
                              nonlocal x
                              x *= x
                              return x
                  return Fun2()

>>>Fun1()
        25

为什么最后一行 return Fun2()改为Fun2()就没有结果了呢? Fun2()不是执行函数Fun2的意思吗



冬雪雪冬 发表于 2020-2-23 11:21:14

如果将return Fun2()改为Fun2(),则Fun2结果返回给Fun1,但Fun1并没有将结果返回给主程序。

Crez.晔霖 发表于 2020-2-23 11:39:40

return是指一个函数的返回值,返回值的类型要和函数声明的类型一样,如果是void应该就不需要了,貌似也可以直接return;

shuofxz 发表于 2020-2-23 11:40:24

不管有没有return,Fun2()这个东西就是执行Fun2这个函数

如果不写return,就是单纯的执行一下fun2()这个函数,由于也没有变量接收fun2()的返回值(比如 res = Fun2()),所以fun2()执行完了也没啥具体的改变

写了return之后,就是把fun2执行的结果当做fun1的返回值。比如fun2()的执行结果是5,那么return Fun2(),就和return 5是一个意思的了

某一个“天” 发表于 2025-1-13 23:37:17

Fun2()就是执行Fun2这个函数
因为那样fun 1没有返回值
return不会打印,只返回
页: [1]
查看完整版本: return