龙空技术网

41. 函数之多返回值场景 完整版#python编程

py理 27

前言:

而今各位老铁们对“python的math函数库求和”大概比较着重,姐妹们都想要分析一些“python的math函数库求和”的相关文章。那么小编在网上搜集了一些对于“python的math函数库求和””的相关资讯,希望咱们能喜欢,姐妹们快快来学习一下吧!

41.函数之多返回值场景。

在基础篇里讲遍历字典的时候用的是字典的items方法,同时遍历k和v两个变量。为什么这个方法可以同时遍历两个变量?如果不用就会报错?为什么在机器学习的sk learn包中train set split方法的等号左边可以写四个变量?这就是今天要讲的函数的多返回值场景。

从上面的例子可以看到多返回值场景在python中非常常见,但是在其它的编程语言中却不是很常见,这是Python相对于其它编程语言来说更为灵活的一个方面。

如何让函数返回多个变量值?其实对Python来说非常简单,只需要在函数的return语句里返回多个变量即可。变量之间通过逗号分隔,通过一个小例子来讲解一下。假如某个业务需要计算输入进来的列表里的数字,需要计算这些数字的加和值与连乘值。一般的思路都会定义两个函数,一个计算加法,一个计算连乘,这个解决问题的方案是没问题的。

今天讲函数的多返回值,就通过返回多个变量的方法来处理一下这个问题。

·首先先定义一个函数,暂且叫它caculation,它的参数只有一个,是列表类型,叫它num_list。

·接下来写函数体,在函数体里加和值与连乘值需要分别计算,并存放在不同的变量中。先计算加和值,暂且不对传入进来的列表元素做校验,完全相信传进来的数据是没问题的。但是在实际应用中,从程序的健壮性来讲数据校验是一个不可缺少的动作。

·由于相信这个列表里的元素都是数字,直接用python的内置函数sum来求和,把结果存在s这个变量中。

·计算连乘要引入python的math包,里面有个prod()的方法可以计算连乘,当然也可以自己通过for循环实现。这里引入math的包来计算连乘,并把结果存在在product变量中,这样就把加和与连乘的值计算完成了。

下面。就需要把这两个值返回就可以了。方法是return s,product。

下面来调用一下这个函数,在调用之前先生成一个列表,用range函数生成一个1到5的列表,range1到5,list里边的元素是1、2、3、4四个元素,先打印一下,没错,1、2、3、4四个元素,然后把这个列表传入calculation这个函数中。

因为这个函数的返回值有两个,所以也需要有两个变量来接收calculation的返回值。接收的方法与函数定义的返回值类似,也是由两个变量通过逗号分隔,这里这两个变量一个叫做s,一个叫做prod。如果函数有多个返回值,多个返回值的接收变量也是通过逗号来分隔。

这里有个需要注意的点,接收返回值两个变量的接收的顺序s和prod的顺序就是函数里return语句返回变量的顺序。比如这个例子中,return语句是把sum写在前,product写在后的。在接收calculation的返回值的变量中,s写在前面的变量接收的是sum这个返回值,prod写在后面,接收的是product的值。

打印一下看看,可以看到加和的值与连乘值接收与计算都是正确的。如果把s和prod位置换一下,再来执行一个这段代码,可以看到接收的值与期望的就不一样了。

总结一下这堂课讲的内容,函数返回多个变量值在python里是非常普遍的现象,而且在python中实现起来也非常的简单,只需要在函数的return值后面把需要返回的变量通过逗号分隔即可。在接收多返回值函数的返回值时,接收变量的顺序要与函数返回时变量的顺序一致,变量之间通过逗号分隔。

这节课就讲到这里,下节课讲一下python的lambda函数,匿名函数。

标签: #python的math函数库求和