• 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))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    执行上面的语句我们可以得出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  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    从以上例子我们得知,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()))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    我们看下执行结果:
    在这里插入图片描述
    由此我们可以看出:

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

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

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

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

  • 相关阅读:
    【Vue】使用 axios 发送ajax 请求
    ffplay.c源码阅读之拉流模块实现原理
    Visual Studio部署C++环境下OpenCV库
    Tomcat基础与优化
    本地搭建php包依赖管理工具,使用satis搭建私有composer仓库
    Jenkins通过kubernetes plugin连接K8s集群
    npm包管理相关命令
    HtmlAgilityPack中使用xpath获取属性值
    java计算机毕业设计酒店预约入住系统源码+mysql数据库+系统+lw文档+部署
    vue 修改props
  • 原文地址:https://blog.csdn.net/totorobig/article/details/126616662