跳转至

函数返回值

默认返回值

在函数的初步那节已经介绍了函数的返回值。在Python中函数一定会有返回值,即使程序中没有指定返回值,默认也会返回None.来看一个例子:

def say_hello():
    print("hello Python")

res = say_hello()
print(res)

# hello Python
# None

多个返回值

前面使用函数的返回值,都只返回一个结果,其实在Python中可以返回多个结果,任意类型的数据都是可以的。言外之意是返回值也包括一个函数,一个类或者任意的对象。这里我们不展开讲解,不是基础内容。先来看看返回多个值。

我们依然用简单的例子说明,输入圆的半斤,返回圆的周长和面积

import math


def circle(r):
    """计算圆的面积和周长"""
    if r <= 0:
        print("输入的半径r值必须为正数")
    s = math.pi * r ** 2
    c = 2 * math.pi * r
    return s, c

如果有三个或者更多的返回结果,放在return关键词之后,用,分隔。多个返回值如何使用呢?接收返回的结果仍然用逗号分隔,如果部分返回结果不需要,则可以使用下划线_代替。

aera, l = circle(5) # 接收两个参数
aera, _ = circle(5) #  只接受第一个结果,第二个用_占位
a, l, t = circle(10) # IDE会提示报错,运行以后报错如下

Traceback (most recent call last):
  File "/Users/chan/project/pyhome/task3.py", line 13, in <module>
    a, l, t = circle(10)
ValueError: not enough values to unpack (expected 3, got 2)

提示

如果使用一个参数接收上面函数的返回结果会怎么样呢?请读者自行尝试。

总结

本节内容进一步讲述了函数的返回值,如果不给出返回值,那么函数的默认返回值为None类型;函数可以返回一个或者多个值,值的类型可以为任意类型。

评论