#python#return和print的一些理解

刚开始学习python,之前只有一些c的基础,也忘得差不多了,现在想边学习边总结和分享收获~

看书时看了return的用法,可是后来和print混了,老是感觉可以将函数return值直接显示,但不是这样的。

看到知道上的一个例子:

代码 (1) ++++++++++++++++++++++++++++++++++

x = 1
y = 2
def add (x, y):
  z = x + y
  return z
print (add(x,y))

代码 (2) ++++++++++++++++++++++++++++++++++

x = 1
y = 2
def add (x, y):
  z = x + y
  print z
print (add(x,y))

输出结果 (相同) ++++++++++++++++++++++++++++++++++

>>> 3
这里代码1的结果是打印返回值而得到的,而代码2的结果是在打印函数add (x, y)时,add (x, y)执行print z语句而得到的,其返回值是None,所以输出结果应为

3

None

返回值只有打印才能得到,例如

def a():

  print('ss')

def b():

  return 'ss'

直接运行a(),是有结果的,而直接运行b()是没有结果的,只有运行print(b())才可以显示'ss'。

另外,将函数赋值给变量可以获得返回值,如上函数b(),加上

c=b()

c

是有结果的,因为c得到了b()的返回值'ss'。

另外,在交互模式下,return的结果会自动打印出来,而作为脚本单独运行时则需要print函数才能显示。

posted @ 2017-03-19 21:40  /Seirios/  阅读(11571)  评论(0编辑  收藏  举报