看几段代码感受下print和return的区别
代码1:
x = 1 y = 2 def add (x, y): z = x + y return z print (add(x,y))
输出结果:
3
代码2:
x = 1 y = 2 def add (x, y): z = x + y print z print (add(x,y))
输出结果:
3 None
这里代码1的结果是打印返回值而得到的,而代码2的结果是在打印函数add (x, y)
时,add (x, y)
执行print z语句而得到的,同时还打印了返回值,返回值是None。
总结:我们都知道,可以直接调用函数或者用print调用。在使用print的情况下,会同时返回打印值和返回值;如果一个函数只有打印值,没有返回值,返回值显示为none
代码3:
def a(): print('ss') def b(): return 'ss'
在交互模式下,直接运行a() 和b()都
是有结果的,而作为脚本直接运行b()
是没有结果的,只有运行print(b())
才可以显示'ss'。
总结:我们都知道,可以在交互模式和脚本模式下运行。在交互模式下,不需要用print也能显示值,不管是变量值,函数返回值还是函数需要打印的值;而作为脚本单独运行时,必须用print显示需要打印的字符串或者函数返回值。