关于return 和 print的区别,有无大佬帮忙解释下,球球啦
1.def outside():
var = 5
def inside():
var = 3
print(var)
inside()
outside()
2.
def outside():
var = 5
def inside():
var = 3
return var
inside()
outside()
上面两组代码第一组运行outside()打出的是3;第二组运行outside()却没反应,这是为啥啊,return不是返回函数值吗????
求教!!!!!
本帖最后由 zltzlt 于 2020-7-25 19:50 编辑
return 和 print 的本质是不同的,return 是用于在函数中返回一个值,print 是向屏幕上输出一些东西。
你第 2 段代码没有打印出 var 的原因是 outside() 没有返回 inside() 函数的返回值,而第 1 段代码打印出了 var 是因为 print() 是直接打印,不返回。
在交互模式中能不用 print() 就能打印出函数的返回值,是因为交互模式会实时把代码的执行结果反馈给你:
>>> def test():
return 1
>>> test() # 不用 print() 也能打印出 test() 的返回值
1
>>> 2 + 3 # 实时反馈结果
5
第 2 段代码改成这样就能和第 1 段代码执行结果一样了:
def outside():
var = 5
def inside():
var = 3
return var
return inside() # 调用 inside() 并返回 inside() 函数的返回值
print(outside()) # 这里还得 print(),打印 outside() 函数的返回值
return 是设置函数返回值,函数返回并不会自动打印,需要加上 print函数打印
而当在 IDLE 或者其他编辑器控制台时候会自动帮你打印返回值
所以你第二个代码要改成这样就好了,两个函数都要设置下 return 并且最外面的需要打印:
def outside():
var = 5
def inside():
var = 3
return var
return inside()
print(outside())
页:
[1]