zoukankan      html  css  js  c++  java
  • 『Python基础』第39节 函数的返回值

    1. 函数的返回值

    一个函数就是封装一个功能, 这个功能一般都会有一个最终结果的.

    ​ 比如写一个登录的函数, 最终登录是否成功你总得告诉我一声吧?

    ​ 还有咱们之前也用过 len() 这个函数, 它就是获取一个对象的元素的总个数, 然后返回一个元素个数的结果:

    s1 = 'qwerasdf'
    print(len(s1))  # 8
    

    ​ 那么, 如何设置返回值呢? 这就得借助Python中的一个关键字: return

    知道了设置函数的返回值要用到return, 那么赶紧, 把我们之前写的交友的函数完善一下

    def momo():
        print('拿出手机')
        print('打开陌陌')
        print('左滑一下')
        print('右滑一下')
        print("看见个漂亮的妹子")
        print("问她,约不约啊!")
        print("ok 走起")
        return '漂亮的小萝莉'
    girl = momo()
    print(girl)  # '漂亮的小萝莉'
    

    ​ 有人可能会问了, 这个函数的返回值, 既然是返回一些数据, 那么它返回给了谁了?

    ​ 其实这个跟我们之前使用 len() 一样, 函数的返回值返回给了 函数名() 这个整体, 也就是这个执行者.

    ​ 也就是说, return 会给函数的执行者返回值.

    ​ 同时, 需要注意的一点就是, 函数中遇到return, 此函数结束, 不再继续执行.

    def momo():
        print('拿出手机')
        print('打开陌陌')
        print('左滑一下')
        print('右滑一下')
        print("看见个漂亮的妹子")
        return '漂亮的小萝莉'
        print("问她,约不约啊!")
        print("ok 走起")
    girl = momo()
    print(girl)
    

    在这段代码中, print("问她,约不约啊!") print("ok 走起") 这两行是不运行的. 遇到 return 直接就跳出了函数体. 还没问约不约就得到了小萝莉?

    ​ 当然了, 我们也可以返回多个值, 如果返回的是过个值, 是以元组形式返回的.

    def momo():
        print('拿出手机')
        print('打开陌陌')
        print('左滑一下')
        print('右滑一下')
        print("看见个漂亮的妹子")
        print("问她,约不约啊!")
        print("ok 走起")
        return '漂亮的小萝莉', '成熟女性', '大妈'
    girl = momo()
    print(girl)  # ('漂亮的小萝莉', '成熟女性', '大妈')
    

    总结一下:

    • 遇到return, 函数结束, return下面(函数内)的代码不会执行
    • return 会给函数的执行者返回值
      • 如果return后面什么都不写, 或者函数中没有return, 则返回的结果是None.
      • 如果return后面写了一个值, 则返回这个值给调用者
      • 如果return后面写了多个结果, 那么就返回一个tuple(元组)给调用者, 调用者可以直接使用元组的解构获取多个变量
    def momo():
        print('拿出手机')
        print('打开陌陌')
        print('左滑一下')
        print('右滑一下')
        print("看见个漂亮的妹子")
        print("问她,约不约啊!")
        print("ok 走起")
        return '漂亮的小萝莉', '成熟女性', '大妈'
    g1, g2, g3 = momo()
    print(g1, g2, g3)  # 漂亮的小萝莉 成熟女性 大妈
    
  • 相关阅读:
    [学习笔记]设计模式之Bridge
    整数划分问题 动态规划
    powershell 发邮件
    python 对象序列化并压缩
    python的序列化与反序列化(例子:dict保存成文件,文件读取成dict)
    ACM-ICPC 2018 world final A题 Catch the Plane
    AlphaPose论文笔记《RMPE: Regional Multi-person Pose Estimation》
    《DensePose: Dense Human Pose Estimation In The Wild》阅读笔记
    [转]tensorflow 中的卷积conv2d的padding 到底要padding多少
    OpenPose论文笔记《Realtime Multi-Person 2D Human Pose Estimation using Part Affinity Fields》
  • 原文地址:https://www.cnblogs.com/lpgit/p/11462795.html
Copyright © 2011-2022 走看看