在python之中函数是能够通过关键字return来将某些变量给返回出去的,而这样的函数在调用时就需要使用一个对象来接收返回的值。函数内return关键字只能写一个,不过可以在后面使用逗号分隔来返回多个值。下文会详细讲解函数多值返回,以及接收解析的方法和代码实例。
一、函数返回多个值
在文章开头就已经介绍过了函数返回多个值只需要在return关键字的后面加上多个对象并使用逗号分隔即可,不过这些对象需要是在函数内部定义好的,如果是使用的全局变量返回也不会发生变化,详细代码示例如下所示:
def sum_and_avg(list): sum = 0 count = 0 for e in list: if isinstance(e, int) or isinstance(e, float): count += 1 sum += e return sum, sum / count my_list = [20, 15, 2.8, 'a', 35, 5.9, -1.8] tp = sum_and_avg(my_list) print(tp)
以上代码示例就是一个用来实现数据类型判断和分组统计的函数,它返回的结果是sum变量以及sum和count相除表达式的结果。那么在外部使用变量来接收函数返回结果之后,这个变量会自动的转为元组类型,这是因为两个返回结果被封装成元组元素返回了。
二、函数多值返回接收和解析
上一点以及提到过了函数返回多个值时,会将元素放在元组内转为数据结构返回。那么再使用的时候还需要将数据从元组内取出来才可以,这样就比较麻烦了,所以可以使用python中一个叫做序列解包的机制来接收函数返回的多个值。
序列解包的意思就是当有一个序列内的元素需要被取出来时,如果外部接收的变量有多个,那么就会按照顺序将序列内的元素一一赋值给这些变量,代码示例如下所示:
s, avg = sum_and_avg(my_list) print(s) print(avg)
以上就是关于“Python函数返回多个值代码怎么写?Python如何接收解析函数返回的多个值”的全部内容了,希望对你有所帮助。