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. Flutter扫码识别二维码内容

    前面一篇写了生成二维码图片,这篇来写使用相机扫描识别二维码 识别二维码需要用到插件 barcode_scan 首先在 pubspec.yaml 文件中添加以下依赖,添加依赖后在 pubspec.yam ...

  2. NGINX实现咏南跨平台中间件集群

    NGINX实现咏南跨平台中间件集群 首先要开启咏南LINUX中间件. 1)编辑usr/local/nginx/conf/nginx.conf #user  nobody;worker_processe ...

  3. 多层nginx中的压缩问题 api接口>1M数据的返回浏览器 网关

    基础 前端异步请求,局部刷新,加大最大等待时间 nginx开启压缩 进阶 多级nginx的压缩 实践测试: 每级都要开启压缩 gizp on: 最外层开启,但最内层没有开启 最外层没有开启 最外层.最 ...

  4. Spring AOP Log

    spring aop action中验证用户登录状态 - CASER_HDMI的博客 - CSDN博客https://blog.csdn.net/CASER_HDMI/article/details/ ...

  5. [转]java生成 excel 并导出文件

    原文:https://blog.csdn.net/xunwei0303/article/details/53213130 目前,比较常用的实现Java导入.导出Excel的技术有两种Jakarta P ...

  6. ffmpeg-php扩展

    php视频缩略图,较常用的是ffmpeg-php 1: 安装 ffmpeg ffmpeg的下载链接  http://ffmpeg.org/download.html 解压安装包 tar -jxvf f ...

  7. iptables 配置场景3

    iptables -I INPUT -i lo -j ACCEPT    #允许本地回环地址访问: iptables -I INPUT -m state --state ESTABLISHED,REL ...

  8. 【Mac】解决macos安装升级时报错安装所选更新时发生错误的问题

    1 系统更新macjave 更新一直失败: 2  解决方法为:重新启动Mac,并按住Command+R进入恢复模式,找到Terminal后输入csrutil disable,然后重启Mac,再次下载并 ...

  9. 报错:Unable to read additional data from client sessionid 0x36ab52d38c20b20, likely client has closed socket

    报错背景: CDH集群中,将kafka和Flume整合,将kafka的数据发送给Flume消费. 启动kafka的时候正常,但是启动Flume的时候出现了报错现象. 但是我检查了Flume,Flume ...

  10. 基于docker构建flink大数据处理平台

    https://www.cnblogs.com/1ssqq1lxr/p/10417005.html 由于公司业务需求,需要搭建一套实时处理数据平台,基于多方面调研选择了Flink. 初始化Swarm环 ...