优草派  >   Python

Python函数返回多个值代码怎么写?Python如何接收解析函数返回的多个值

罗西汉            来源:优草派

在python之中函数是能够通过关键字return来将某些变量给返回出去的,而这样的函数在调用时就需要使用一个对象来接收返回的值。函数内return关键字只能写一个,不过可以在后面使用逗号分隔来返回多个值。下文会详细讲解函数多值返回,以及接收解析的方法和代码实例。

Python函数返回多个值代码怎么写?Python如何接收解析函数返回的多个值

一、函数返回多个值

在文章开头就已经介绍过了函数返回多个值只需要在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如何接收解析函数返回的多个值”的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。