函数可以通过return语句来返回数值,函数调用时的参数传递实现了从函数外部向函数内部输入数据,而函数的返回实现了函数向外部输出数据。
此处需注意,如果函数定义时省略return语句或者只有return而没有返回值,则Python将认为该函数以return None结束,None代表没有值,如下所示。
1 def output():
2 print('简书作者:隼与鱼,欢迎关注!')
3 print(output())
运行结果如下图所示。

在上例中,第3行通过print()函数打印output()函数的返回值,此时输出None。
return语句可以放置在函数中任何位置,当执行到第一个return语句时,程序返回到调用程序处接着执行,此时不会执行该函数中return语句后的代码,如下所示。
1 def myMax(a, b):
2 if a > b:
3 return a
4 else:
5 return b
6 print(a, b)
7 print(max(6, 8))
运行结果如下图所示。

在上例中,第7行调用函数时,将实参6、8分别传递给形参a、b,程序跳转到第1行处执行,由于a小于b,因此执行else后的return语句,此时函数调用结束,不会执行第6行语句,最终输出函数的返回值8。
当函数具有多个返回值的时候,如果只用一个变量来接收返回值,函数返回的多个值实际上构成了一个元组,如下所示。
1 def calculate(a, b):
2 return a + b, a - b, a * b, a / b
3 x = calculate(8, 2)
4 print(x)
5 a1, b1, c1, d1 = calculate(8, 2)
6 print(a1, b1, c1, d1)
运行结果如下图所示。

在上例中,第2行函数通过return语句返回4个值,第3行通过一个变量接受函数calculate()的返回值,第4行打印该变量,输出一个元组。第5行利用多变量同时赋值语句来接收多个返回值。
网友评论