08、Python函数的返回值

函数返回值的特性

首先,让我们先来看两个例子

#示例一
def exa_a(x):
    print(x)
    return x+1
    
def exa_b(x):
    return x+1
    print(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+2
    return 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,4

if __name__ == '__main__':
    print(type(exa_e()))
    print(type(exa_f()))

我们看下执行结果:
08、Python函数的返回值_第1张图片
由此我们可以看出:

特性三:函数不能同时返回多个值
return [1,2,3] 是做为一个列表对象返回
return 1,2,3 是python将其隐式封装为一个元组对象进行返回,使用返回值时需要进行解构

结合以上例子,我们可以有如下总结:

  • 函数的return语句的作用:结束函数调用,即有break作用,返回“返回值”
  • 一个函数可以存在多个return语句,但只有一条可以被执行,如果没有return语句被执行到,则会隐式调用return None
  • return语句并不一定是函数的语句块的最后一条语句
  • 函数不可以返回多个值,多个值会被封装成一个tuple返回

以上内容如有错误,还请指正,转载请注明出处

你可能感兴趣的:(python,python,开发语言)