python中return与print

看几段代码感受下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显示需要打印的字符串或者函数返回值。

原文地址:https://www.cnblogs.com/Jadie/p/7462136.html