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. PostgreSQL查看版本信息

    1.查看客户端版本 psql --version 2.查看服务器端版本 2.1 查看详细信息 select version(); 2.2 查看版本信息 show server_version; 2.2 ...

  2. 数据缺失值的处理 | R包 - mice

    有些情况下缺失值会零星的分布在数据当中,这时去掉所有包含缺失值的样本就不行了,直接用0去填补缺失值也不行. 所以此时就应该用拟合的方法来填补缺失值. library(mice) init = mice ...

  3. JVM 初始化阶段例子

    创建如下Demo package com.example.jvm.classloader; class Parent{ static int a = 3; static { System.out.pr ...

  4. c语言程序课程设计题目

    <C语言程序设计>课程设计课题表 一.A类 .职工信息管理系统设计 职工信息包括职工号.姓名.性别.年龄.学历.工资.住址.电话等(职工号不重复).试设计一职工信息管理系统,使之能提供以下 ...

  5. pip install失败报错解决方案

    cmd pip install 某些包时报错 pip install Consider using the `--user` option or check the permissions. 只需要p ...

  6. 使用jquery循环并获取 json 数组的键/值对

    var resultJSON = '{"FirstName":"John","LastName":"Doe"," ...

  7. 品优购商城项目(一)mybatis逆向工程

    第一阶段 dubboX和mybatis逆向工程 用了四天时间才完成品优购项目前两天的任务. 1.其中主要遇到的坑就是zookeeper服务消费者无法调用的问题.造成这个问题的主要原因就是忽略了dubb ...

  8. FastDFSClient工具类

    import org.csource.common.NameValuePair;import org.csource.fastdfs.ClientGlobal;import org.csource.f ...

  9. 【Linux】采用nginx反向代理让websocket 支持 wss

    背景:玩swoole 服务 使用Nginx反向代理解决wss问题. 即客户端通过wss协议连接 Nginx 然后 Nginx 通过ws协议和server通讯. 也就是说Nginx负责通讯加解密,Ngi ...

  10. Qt编写气体安全管理系统4-通信协议

    一.前言 通信协议解析是整个系统的核心灵魂,绝大部分人做软硬件通信开发,第一步估计就是写demo将协议解析好,然后再慢慢写整个界面和操作流程等,在工业控制领域,modbus协议应用还是非常广泛的,这个 ...