
上QQ阅读APP看书,第一时间看更新
4.1.4 函数的返回值
前面创建的函数都只是对传入的数据进行处理,处理完了,函数也就结束了。其实,在有些情况下,还需要函数将处理结果反馈。在函数中使用return语句返回函数值。
在函数中使用return语句的语法格式如下:

说明:
用def语句创建函数时,用return语句指定函数返回值并结束函数的执行。该返回值可以是任意类型。一个函数中可以同时包含多个return语句,但只要执行其中一个return语句,就会结束函数的执行。如果函数中没有return语句,或者执行了return语句后没有返回值的语句,则函数将以return None结束,即返回空值。
【例4-12】 定义一个add()函数,既可以用来计算两个数值的和,也可以连接两个字符串,返回计算结果。

运行结果如下:

在调用函数时,既可以将该函数赋值给一个变量,用变量保存函数的返回值,也可以将函数再作为某个函数的实参。
【例4-13】 定义一个求较大数的函数,其中有两个return语句,但是最终真正执行的只有一个。

以上实例的return语句都仅返回了一个值,但其实可以通过return语句返回多个值。如果函数需要有多个返回值,既可将多个值包装成列表之后返回,也可直接返回多个值。如果函数直接返回多个值,会自动将多个返回值封装成元组。本质上,返回值仍然是一个。
【例4-14】 函数的return语句返回多个值。

运行结果为一个元组:

【例4-15】 函数传入成绩,返回分段。


运行结果如下:
