函数返回值的特性
首先,让我们先来看两个例子
#示例一
def exa_a(x):print(x)return x+1def exa_b(x):return x+1print(x) #这句会执行吗?if __name__ == '__main__':print(exa_a(2))
执行上面的语句我们可以得出return的第一个特性:
特性一:return有break的作用,return后的语句都不执行,为废语句
执行以下语句,exa_d的第二条return会执行吗?
def exa_c(x):if x>3:return ">3"else:print(f"x小于3")print(exa_c(2)) def exa_d(x):print(x)return x+2return x+1
从以上例子我们得知,exa_c(2)执行返回的是None,exa_d()的第二条语句不会执行,由此我们得出函数的第二个特性:
特性二:函数可以有多个return语句,但是只有一条可以被执行,如果没有一条return语句被执行,则隐式调用:return None
def exa_e():return [1,2,3]def exa_f():return 1,2,4if __name__ == '__main__':print(type(exa_e()))print(type(exa_f()))
我们看下执行结果:
由此我们可以看出:
特性三:函数不能同时返回多个值
return [1,2,3] 是做为一个列表对象返回
return 1,2,3 是python将其隐式封装为一个元组对象进行返回,使用返回值时需要进行解构
结合以上例子,我们可以有如下总结:
- 函数的return语句的作用:结束函数调用,即有break作用,返回“返回值”
- 一个函数可以存在多个return语句,但只有一条可以被执行,如果没有return语句被执行到,则会隐式调用return None
- return语句并不一定是函数的语句块的最后一条语句
- 函数不可以返回多个值,多个值会被封装成一个tuple返回
以上内容如有错误,还请指正,转载请注明出处