『无为则无心』Python函数 — 27、Python函数的返回值
1、返回值概念
例如:我们去超市购物,比如买饮料,给钱之后,是不是售货员会返回给我们饮料这个商品。在函数中,如果需要返回结果给用户,就需要使用函数返回值。
换句话说,返回值就是函数执行以后返回的结果。
def buy():
# return返回结果给函数调用的地方
return '烟'
# 使用变量保存函数返回值
goods = buy()
print(goods)
2、return关键字的作用
- 负责函数返回值。
- 退出当前函数:导致
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)
注意:
return a, b写法,返回多个数据的时候,默认是元组类型。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、fn5 和 fn5()的区别
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函数的返回值的更多相关文章
- 『无为则无心』Python函数 — 28、Python函数的简单应用
目录 1.函数嵌套调用 2.Python函数的简单应用 (1)打印线条 (2)函数计算 (3)打印图形 3.函数的说明文档 (1)函数的说明文档的作用 (2)函数说明文档的语法 (3)查看函数的说明文 ...
- 『无为则无心』Python函数 — 25、Python中的函数
目录 1.函数的使用 (1)定义函数 (2)调用函数 (3)使用函数的注意事项 2.函数的参数 3.实参的类型 Python函数的说明: Python中函数的应用非常广泛,前面章节中我们已经接触过多个 ...
- 『无为则无心』Python函数 — 26、Python函数参数的传递方式
目录 1.位置参数 2.关键字参数 3.缺省参数(默认参数) 4.不定长参数(可变参数) (1)包裹位置传递 (2)包裹关键字传递 5.位置参数.默认参数.可变参数的混合使用 6.拓展:参数解包 提示 ...
- 『无为则无心』Python函数 — 29、Python变量和参数传递
目录 1.Python的变量 (1)Python变量不能独立存在 (2)变量是内存中数据的引用 (3)注意点 2.了解变量的引用 3.Python的参数传递(重点) (1)示例 (2)结论 (3)总结 ...
- 『无为则无心』Python函数 — 30、Python变量的作用域
目录 1.作用于的概念 2.局部变量 3.全局变量 4.变量的查找 5.作用域中可变数据类型变量 6.多函数程序执行流程 1.作用于的概念 变量作用域指的是变量生效的范围,在Python中一共有两种作 ...
- 『无为则无心』Python函数 — 31、命名空间(namespace)
目录 1.什么是命名空间 2.三种命名空间 3.命名空间查找顺序 4.命名空间的生命周期 5.如何获取当前的命名空间 1.什么是命名空间 命名空间指的是变量存储的位置,每一个变量都需要存储到指定的命名 ...
- 『无为则无心』Python函数 — 32、递归
目录 1.什么叫递归函数 2.递归的应用场景 3.递归的特点 4.应用:3以内数字累加和 5.应用:阶乘 6.总结 1.什么叫递归函数 Python中,在函数内部,可以调用其他函数.如果一个函数在内部 ...
- 『无为则无心』Python函数 — 33、高阶函数
目录 1.高阶函数的定义 2.体验高阶函数 3.内置高阶函数 (1)map()函数 (2)reduce()函数 (3)filter()函数 1.高阶函数的定义 把函数作为参数传入(把一个函数作为另外一 ...
- 『无为则无心』Python函数 — 34、lambda表达式
目录 1.lambda的应用场景 2.lambda语法 3.快速入门 4.示例:计算a + b 5.lambda的参数形式 6.lambda的应用 lambda表达式的主要作用就是化简代码. 匿名函数 ...
随机推荐
- linux 详解useradd 命令基本用法
linux 详解useradd 命令基本用法 时间:2019-03-24 本文章向大家介绍linux 详解useradd 命令基本用法,主要包括linux 详解useradd 命令基本用法使用实例.应 ...
- C# 技术体系简介
C# 语言 .Net Framwork .NET Core winform界面编程 WPF开发经验,熟悉C/S架构产品开发及架构和设计 DevExpress界面框架(其实就是基于微软的 Winform ...
- Redis 安装和启动
Redis 安装 安装准备: redis 压缩包 官网下载地址:https://redis.io/download 安装步骤: 第一步:安装 gcc 编译器 官网发布的 Redis 压缩包是 C 语言 ...
- PCB布线规范
模拟电路和数字电路PCB设计的不同点 http://linear.eefocus.com/module/forum/thread-593593-1-1.html 合集 PCB给种设计资料 http ...
- 在Linux服务器,搭建K8s服务【脚本篇】
前言 好久没有写博客了,本文主要是对网上文章的总结篇,主要是将安装和运行代码做了一次真机实验,亲测可用.文章内包含的脚本和代码,多来自于网络,也有我自己的调整和配置,文章末尾对参考的文献做了列举,方便 ...
- 看完这篇还不懂 MySQL 主从复制,可以回家躺平了~
大家好,我是小羽. 我们在平时工作中,使用最多的数据库就是 MySQL 了,随着业务的增加,如果单单靠一台服务器的话,负载过重,就容易造成宕机. 这样我们保存在 MySQL 数据库的数据就会丢失,那么 ...
- System Verilog MCDF(二)
整形器的接口时序: reg,grant是维持了两个clk的. chid ,length在发送数据期间不可以变化. 第一个data数据必须在start上升沿的同一个clk发送. reg,grant两者之 ...
- Step By Step(编写C函数的技巧)
Step By Step(编写C函数的技巧) 1. 数组操作: 在Lua中,"数组"只是table的一个别名,是指以一种特殊的方法来使用table.出于性能原因,Lua的C ...
- Spring的controller接受Date类型数据,接受枚举类型数据
1. Controller接收Date类型的数据 核心使用@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") 来将传递过来的时间字符串 ...
- SOC,System on-a-Chip技术初步
SOC,System on-a-Chip技术初步 S O C(拼作S-O-C)是一种集成电路,它包含了电子系统在单个芯片上所需的所有电路和组件.它可以与传统的计算机系统形成对比,后者由许多不同的组件组 ...