#前面在定义函数时,有些函数使用了return语句,有些函数没有使用return语句,使用return语句与不使用return语句有什么区别呢?
#由前面的章节我们知道,若定义函数时没有使用return语句,则默认返回一个None。要返回一个None,可以只写一个return,但要返回具体的数值,就需要在return后面加上需要返回的内容。对于函数的定义来说,使用return语句可以向外提供该函数执行的一下结果;对于函数的调用者来说,是否可以使用函数中执行的一些操作结果,就在于函数是否使用return语句返回了对应的执行结果。
#在Python中,有的函数会产生结果(如数学函数),我们称这种函数为有返回值函数(fruitful function);有的函数执行一些动作后不返回任何值,我们称这类函数为无返回值函数。
#当我们调用有返回值函数时,可以使用返回的结果做相关操作;当我们使用无返回值函数或返回None的函数时,只能得到一个None值。
#比如定义如下函数并执行:
1 # /usr/bin/python3 2 #!-*-conding:UTF-8 -*- 3 #有返回值和无返回值函数 4 5 def noreturn(): 6 print('noreturn函数不写return语句') 7 8 def justreturn(): 9 print('justreturn函数只写return,不返回具体内容') 10 return 11 12 def returnval(): 13 x=10 14 y=20 15 z=x+y 16 print('returnval函数写return语句,并返回求和的结果。') 17 return z 18 19 print('函数noreturn调用结果:',noreturn()) 20 print('函数justreturn调用结果:',justreturn()) 21 print('函数returnval调用结果:',returnval())
#执行结果如下:
1 noreturn函数不写return语句 2 函数noreturn调用结果: None 3 justreturn函数只写return,不返回具体内容 4 函数justreturn调用结果: None 5 returnval函数写return语句,并返回求和的结果。 6 函数returnval调用结果: 30
#由执行结果看到,定义函数时不写return或只写一个return语句返回的都是None。如果写了返回具体内容,调用函数时就可以获取具体内容。