1、返回值概念

例如:我们去超市购物,比如买饮料,给钱之后,是不是售货员会返回给我们饮料这个商品。在函数中,如果需要返回结果给用户,就需要使用函数返回值。

换句话说,返回值就是函数执行以后返回的结果。

def buy():
# return返回结果给函数调用的地方
return '烟' # 使用变量保存函数返回值
goods = buy()
print(goods)

2、return关键字的作用

  1. 负责函数返回值。
  2. 退出当前函数:导致return下方的所有代码(函数体内部)不执行。

示例如下

需求:制作一个计算器,计算任意两数字之和,并保存结果。

def sum_num(a, b):
return a + b # 用result变量保存函数返回值
result = sum_num(1, 2)
print(result)

3、返回值可以返回的数据类型

return后边跟什么值,函数就会返回什么值。

return后边可以跟任意的对象,返回值甚至可以是一个函数。

# 示例1:可以返回任何对象
def fn():
return 123 # 123
# return 'Hello' # Hello
# return [1,2,3] # [1, 2, 3]
# return {'k':'v'} # {'k': 'v'} r = fn()
print(r) # 2.返回一个函数
def fn():
def fn2():
print('hello')
return fn2 r = fn()
# 结果:<function fn.<locals>.fn2 at 0x0000000002C24828>
print(r)
# 也可以直接调用整个函数
# 结果:hello
r() # 3.如果仅仅写一个return 或者 不写return,
# 则相当于return None
def fn2():
a = 10
return r = fn2()
print(r) # None

4、函数如何返回多个值

思考:如果一个函数如些两个return,程序如何执行?

如下所示:

def return_num():
return 1
return 2 result = return_num()
print(result) # 1

答:只执行了第一个return,原因是因为return可以退出当前函数,导致函数中return下方的代码都不执行,return一旦执行函数自动结束。

思考:如果一个函数要有多个返回值,该如何书写代码?

def return_num():
return 1, 2 # 返回一个元组
result = return_num()
print(result) # (1, 2)

注意:

  1. return a, b写法,返回多个数据的时候,默认是元组类型。
  2. return后面可以连接列表、元组或字典,以返回多个值。

示例

def return_num():
# 直接返回一个元组
# return (1, 2) # (1, 2)
# 直接返回一个列表
# return [100, 200] # [100, 200]
# 直接返回一个字典
return {'name': 'Python', 'age': 30} result = return_num()
print(result) # {'name': 'Python', 'age': 30}

5、fn5fn5()的区别

def fn5():
return 10 print(fn5) # <function fn5 at 0x00000000029D5798>
print(fn5()) # 10
  • fn5是函数对象,打印fn5实际是在打印函数对象 <function fn5 at 0x05771BB8>
  • fn5()是在调用函数,打印fn5()实际上是在打印fn5()函数的返回值 10。

6、总结:

  • break:用来退出当前循环。
  • continue:用来跳过当次循环。
  • return:用来结束函数。

『无为则无心』Python函数 — 27、Python函数的返回值的更多相关文章

  1. 『无为则无心』Python函数 — 28、Python函数的简单应用

    目录 1.函数嵌套调用 2.Python函数的简单应用 (1)打印线条 (2)函数计算 (3)打印图形 3.函数的说明文档 (1)函数的说明文档的作用 (2)函数说明文档的语法 (3)查看函数的说明文 ...

  2. 『无为则无心』Python函数 — 25、Python中的函数

    目录 1.函数的使用 (1)定义函数 (2)调用函数 (3)使用函数的注意事项 2.函数的参数 3.实参的类型 Python函数的说明: Python中函数的应用非常广泛,前面章节中我们已经接触过多个 ...

  3. 『无为则无心』Python函数 — 26、Python函数参数的传递方式

    目录 1.位置参数 2.关键字参数 3.缺省参数(默认参数) 4.不定长参数(可变参数) (1)包裹位置传递 (2)包裹关键字传递 5.位置参数.默认参数.可变参数的混合使用 6.拓展:参数解包 提示 ...

  4. 『无为则无心』Python函数 — 29、Python变量和参数传递

    目录 1.Python的变量 (1)Python变量不能独立存在 (2)变量是内存中数据的引用 (3)注意点 2.了解变量的引用 3.Python的参数传递(重点) (1)示例 (2)结论 (3)总结 ...

  5. 『无为则无心』Python函数 — 30、Python变量的作用域

    目录 1.作用于的概念 2.局部变量 3.全局变量 4.变量的查找 5.作用域中可变数据类型变量 6.多函数程序执行流程 1.作用于的概念 变量作用域指的是变量生效的范围,在Python中一共有两种作 ...

  6. 『无为则无心』Python函数 — 31、命名空间(namespace)

    目录 1.什么是命名空间 2.三种命名空间 3.命名空间查找顺序 4.命名空间的生命周期 5.如何获取当前的命名空间 1.什么是命名空间 命名空间指的是变量存储的位置,每一个变量都需要存储到指定的命名 ...

  7. 『无为则无心』Python函数 — 32、递归

    目录 1.什么叫递归函数 2.递归的应用场景 3.递归的特点 4.应用:3以内数字累加和 5.应用:阶乘 6.总结 1.什么叫递归函数 Python中,在函数内部,可以调用其他函数.如果一个函数在内部 ...

  8. 『无为则无心』Python函数 — 33、高阶函数

    目录 1.高阶函数的定义 2.体验高阶函数 3.内置高阶函数 (1)map()函数 (2)reduce()函数 (3)filter()函数 1.高阶函数的定义 把函数作为参数传入(把一个函数作为另外一 ...

  9. 『无为则无心』Python函数 — 34、lambda表达式

    目录 1.lambda的应用场景 2.lambda语法 3.快速入门 4.示例:计算a + b 5.lambda的参数形式 6.lambda的应用 lambda表达式的主要作用就是化简代码. 匿名函数 ...

随机推荐

  1. Linux——CentOS7添加/删除用户和用户组1

    Linux--CentOS7添加/删除用户和用户组 2017.05.02 19:58 23012浏览   前言 今天又重新装了centos7突然有关用户和用户组有关的命令记不清了,所以记一下,也方便你 ...

  2. 配置文件修改java安全级别和站点信息

    配置文件修改java安全级别和站点信息原创Green_1001 最后发布于2015-04-22 23:00:09 阅读数 516 收藏展开 通过配置文件修改java安全级别 配置文件名称为deploy ...

  3. STM32自己的封装库

    以前一直使用STM32的标准库,需要一步步地将代码加进去,将编译选项设置好,然后再编译整个工程. 这个编译过程是一个相当慢的过程!完全编译大约需要一支烟的时间.每次建立工程都这么编译,是一个相当浪费时 ...

  4. 【GIS风暴】30米分辨率地表覆盖数据GlobeLand30原始数据集简介及下载地址

    数据集预览: GlobeLand30是30米空间分辨率全球地表覆盖数据,目前可供下载使用的有3年的数据:2000-2010-2020,本文主要讲述GlobeLand30的官网下载地址和数据集简介. 数 ...

  5. 大作!webpack详细配置

    webpack学习之旅 好好学习 天天向上!遇到bug,不要慌! 文章目录 webpack学习之旅 大一统的模块化规范--ES6模块化 1.node.js中通过babel体验ES6模块化 2.ES6模 ...

  6. Step By Step(Lua函数)

    Step By Step(Lua函数) 一.函数:    在Lua中函数的调用方式和C语言基本相同,如:print("Hello World")和a = add(x, y).唯一的 ...

  7. 在NVIDIA A100 GPU中使用DALI和新的硬件JPEG解码器快速加载数据

    在NVIDIA A100 GPU中使用DALI和新的硬件JPEG解码器快速加载数据 如今,最流行的拍照设备智能手机可以捕获高达4K UHD的图像(3840×2160图像),原始数据超过25 MB.即使 ...

  8. Gbps接口面向汽车应用

    Gbps接口面向汽车应用 Gbps interfaces target automotive appications 巴黎--不久前,移动通信行业是一个领着芯片商的领头羊,命令坐着,脚跟着,然后翻身. ...

  9. pycham_编码格式设置,处理打印log乱码,处理读取配置文件报错

    一.打印日志乱码,处理设置如下: 二.配置文件读取方法因为gbk编码配置后需要同步修改 原报错信息:

  10. Java日期时间API系列39-----中文语句中的时间语义识别(time NLP 输入一句话,能识别出话里的时间)原理分析

    NLP (Natural Language Processing) 是人工智能(AI)的一个子领域.自然语言是人类智慧的结晶,自然语言处理是人工智能中最为困难的问题之一(来自百度百科). 其中中文更是 ...