函数返回值
return
函数体中 return 语句有指定返回值时返回的就是其值.
函数体中没有 return 语句时,函数运行结束会隐含返回一个 None 作为返回值,类型是 NoneType,与 return 、return None 等效,都是返回 None。
前文我们讲到了 “自定义函数及函数基本使用”,
链接为:https://blog.csdn.net/weixin_42250835/article/details/86761960#commentsedit
现在,我们再来讲一讲,函数的返回值 “return”
前文我们讲的函数及调用是这个样子的
def func1():
print("函数被调用")
f = func1() #调用函数
print(f)
print(type(f)) #因为返回的函数没有值,所以打印输出结果为<class 'NoneType'>
现我们使用 return 来查看函数的返回值
单个返回值
#单个返回值
def func2(p):
return p
f = func2(1)
print(f)
print(type(f))
多个返回值
#多个返回值
def func3():
z = x + y
return z
f = func3()
print(f)
print(type(f)) #多个返回值返回的类型为元组 <class 'tuple'>
无论定义的是返回什么类型,return 只能返回单值,但值可以存在多个元素。
return [1,3,5] 是指返回一个列表,是一个列表对象,1,3,5 分别是这个列表的元素
return 1,3,5 看似返回多个值,隐式地被Python封装成了一个元祖返回
函数的返回值是一个函数
#函数的返回值是一个函数
def func4():
if x == 2:
def inner_func(y):
return y * y
if x == 3:
def inner_func(y):
return y * y * y
return inner_func #当函数作为返回值的时候,只传名称
#return inner_func() #这是一个错误的函数作为函数返回值的示范
calc = func4(2) #calc 虽然是一个变量名,但是当func4()运行完之后,它就是一个函数了
z = calc(5)
print(z) #打印输出结果为 25