函数返回值¶
默认返回值¶
在函数的初步那节已经介绍了函数的返回值。在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
类型;函数可以返回一个或者多个值,值的类型可以为任意类型。