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) # 漂亮的小萝莉 成熟女性 大妈

『Python基础』第39节 函数的返回值的更多相关文章

  1. 『Python基础』第4节:基础数据类型初识

    本节只是对基础数据类型做个简单介绍, 详情会在之后慢慢介绍 什么是数据类型? 我们人类可以分清数字与字符串的区别, 可是计算机不能. 虽然计算机很强大, 但在某种程度上又很傻, 除非你明确告诉它数字与 ...

  2. 『Python基础』第2节: Python简介及入门

    一. Python介绍 Python是一门高级计算机程序设计语言,1989年,荷兰的Guido von Rossum创造了它.Guido是是一个牛人,1982年,他从阿姆斯特丹大学获得了数学和计算机硕 ...

  3. 『Python基础』第7节:基本运算符

    一. 基本运算符 运算按种类可以分为: 算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算. 今天我们只学习算数运算.比较运算.逻辑运算.赋值运算.成员运算 1.1 算数运算 以下假设 ...

  4. 『Python基础』第20节:深浅copy

    一. 赋值运算 l1 = [1, 2, 'conan', [11, 22]] l2 = l1 l1[0] = 111 print(l1) # [111, 2, 'conan', [11, 22]] p ...

  5. 『Python基础』第8节:格式化输出

    现在有一个需求, 询问用户的姓名, 年龄, 工作, 爱好, 然后打印成以下格式 ************ info of Conan ************ name: Conan age: 23 ...

  6. 『Python基础』第6节:流程控制之while循环

    在生活中经常遇到循环的事情, 比如循环列表播放歌曲等. 在Python中, 也有循环, 就是其流程控制语句while. 1. 基本循环 while 条件: 循环体 # 如果条件为真, 那么就执行循环体 ...

  7. 『Python基础』第5节:条件控制

    if 语句的使用 单分支 if 条件: 满足条件后要执行的代码 例如: if 2 < 3: print(222) print(333) 每个条件后面都要使用冒号 :, 表示接下来是满足条件后要执 ...

  8. 『Python基础』第1节 Windows环境下安装Python3.x

    一. Python安装 1. 下载安装包 https://www.python.org/downloads/release/python-374/ # 3.7安装包 # 如需安装python2.7版本 ...

  9. 『Go基础』第7节 变量

    1. 什么是变量? 我们应该怎么去理解变量? 在这里我要举一个例子: 大家应该都知道王者荣耀这个游戏. 当我们在玩王者荣耀的时候, 我们操控的英雄的血量是不断变化的, 这个血量是存在内存中的. 那么这 ...

随机推荐

  1. cmake 手册详解【转】

    https://www.cnblogs.com/coderfenghc/tag/cmake/   CMake 手册详解(二十三) SirDigit 2012-12-16 22:03 阅读:11058 ...

  2. 搭建Nuxt项目(搭配Element UI、axios)

    使用Nuxt Nuxt.js文档:https://zh.nuxtjs.org/guide/ 开始 初始化Nuxt项目 npx create-nuxt-app <项目名> // or yar ...

  3. 给div添加disabled属性

    <div id="CompanyId" name="CompanyId" type="select" ></div> ...

  4. Spring的Bean的生命周期方法执行顺序测试

    通过一个简单的Maven工程来演示Spring的Bean生命周期函数的执行顺序. 下面是工程的目录结构: 直接贴代码: pom.xml文件内容: <?xml version="1.0& ...

  5. Spring cloud微服务安全实战-5-12实现基于token的SSO(2)

    我只要把这个meFilter放在AuthorizationFilter后面就可以了. authorizationFilter的排序是3 MeFilter设置为4 就可以了. 拿到了username直接 ...

  6. ES6深入浅出-11 ES6新增的API(上)-2.Array新增API

    Array.form 把不是数组的东西变成数组.最常见的就是把伪数组变成数组 那么什么是伪数组 这就是伪数组,因为它不是继承自Array的原型的对象.它只是一个看起来很像数组的数组 只看下面的代码.a ...

  7. 一个80后妈妈的邪淫忏悔(转自学佛网:http://www.xuefo.net/nr/article55/551761.html)

    我是一个80后独生女,2012年因为孩子小产后,痛苦难当,悲伤中想起可为孩子超度,因此开始了与佛法的缘分.断断续续几年的学习,才真的知道了邪淫的可怕 我从小面容姣好,气质超群,一直被父母,老师宠爱.想 ...

  8. jenkins编译时文件存放的位置

    1.首先随便打包编译一下 2.查看编译执行的目录 [root@bogon ~]# ls /root/.jenkins/workspace/pipline-test/ CHANGE_LOGS.html ...

  9. HDU3853 LOOPS 期望DP基础题

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3853 题目大意(只是大意,名字什么的可能和原题描述不一样~): 爱丽丝与华容道 题目描述 爱丽丝是一个 ...

  10. SET IDENTITY_INSERT的用法,具体去体验一下

    如果将值插入到表的标识列中,需要启用 SET IDENTITY_INSERT. 举例如下: 创建表Orders.Products,Orders表与Products表分别有标识列OrderID与Prod ...