经常会遇到有人问“为什么方法的最后一行,有的要return一个结果,但是有的却没有return,学习的时候很少看到有书上讲解这个return的用法,因此一直搞不清这个return是干什么用的?到底该什么时候用,return的值应该怎么确定?…"
下面我们就简单的探讨一下这个return的用法。
首先关于英文单词return,它是返回的意思。那么关于它将数据返回到哪儿去了,以及哪些数据需要返回?我们下面将举几个例子进行探讨。

问题1:return将数据返回到哪儿去了?
我们先看下面这几行代码,构造一个求和方法,然后方法结果执行结果print打印出来。

def sum_result(a, b):result = a + bif __name__ == "__main__":print(sum_result(1, 2))

执行结果为:

D:\Python\python.exe C:/Users/Desktop/Code/return.py
NoneProcess finished with exit code 0

发现print打印的结果为None.
接下来我们在上述代码的基础上再添加一行代码,为

def sum_result(a, b):result = a + breturn resultif __name__ == "__main__":print(sum_result(1, 2))

运行结果为:

D:\Python\python.exe C:/Users/lc115/Desktop/Code/return.py
3Process finished with exit code 0

啊哈,发现此时print打印的结果为1+2的值(3)了,也即为求和方法中result的运算结果。
通过上面两个代码对比,我们发现当在方法中增加了return后,整个方法对外体现就是所return的值。以上例为例,在方法sum_result中,增加了一条return result 代码后,sum_result方法对外体现的值即为result,因此将方法sum_result print出来,结果是result的值。但是如果方法中没有return 语句,则相当于是return None,没有返回值,因此print 的结果为None.
那是不是我们只能return方法中的运算结果呢?下面我们继续探讨一下。

问题2:我们return时应该return什么值?以及应该什么时候要用return?
下面我们再将上面的代码改一下,我们不return result,我们return一个自定义字符串看是否可以。代码如下:

def sum_result(a, b):result = a + breturn "hello"if __name__ == "__main__":print(sum_result(1, 2))

运行结果:

D:\Python\python.exe C:/Users/Desktop/Code/return.py
helloProcess finished with exit code 0

发现输出打印的是字符串"hello"
我们再return一个布尔类型的值试试:

def sum_result(a, b):result = a + breturn Trueif __name__ == "__main__":print(sum_result(1, 2))

运行结果为:

D:\Python\python.exe C:/Users/Desktop/Code/return.py
True
<class 'bool'>Process finished with exit code 0

发现也可以直接return一个布尔类型的值。

其实return后面可以接任何值,可以与方法运算有关的,也可以跟方法运算无关的。当方法中一旦有return一个返回值,那么该方法对外的整体”体现“就是该return的结果。因此我们在实际写代码的过程中,是否需要return以及return什么值还是需要根据具体的需求来看,比如有时候方法B需要用到方法A中的运算结果,那么就需要将A方法的运算结果return,然后代入到B方法中去执行。例如:

def func_a():result = 1 + 2return resultdef func_b():sum = func_a() + 3print(sum)if __name__ == "__main__":func_b()

运行结果为:

D:\Python\python.exe C:/Users/Desktop/Code/return.py
6Process finished with exit code 0

问题3:在一个方法中,如果有多个值需要return该如何写?
我们先来看一个例子,当有多个return语句时最终输出是怎样的?

def func_a():result = 1 + 2return resultreturn Truereturn 0if __name__ == "__main__":print(func_a())

运行结果为:

D:\Python\python.exe C:/Users/Desktop/Code/return.py
3Process finished with exit code 0

发现无论写多少return语句,最终只返回第一个return语句的结果。
那如果我们需要返回多个值,该怎么写呢?写法如下:

def func_a():result = 1 + 2return result, True, 0, "hello"if __name__ == "__main__":print(func_a())print(type(func_a()))print(func_a()[0])print(func_a()[1])print(func_a()[2])print(func_a()[3])

运行结果如下:

D:\Python\python.exe C:/Users/lc115/Code/return.py
(3, True, 0, 'hello')
<class 'tuple'>
3
True
0
helloProcess finished with exit code 0

我们发现将多个return结果一列写出来,中间用英文逗号隔开后,输出的结果是一个元组,如果需要单独获取某个值可以通过获取元组元素的方法得到相应的值。

总结:
方法对外”体现“的数据就是return的值,方法中return的值可以是任意值,需要自己根据代码需求来给定。

Python中return返回值的简单用法相关推荐

  1. python中return返回值为函数名_Python函数返回值

    Python函数返回值教程 同时,Python 函数的返回值不需要在函数的签名上体现,只需要在函数体里面直接使用 return 语句返回即可. Python函数不返回值详解 语法 def func_n ...

  2. python没有return语句的函数将返回_为什么Python没有return返回值

    为什么Python没有return返回值 发布时间:2020-08-24 17:12:18 来源:亿速云 阅读:118 今天就跟大家聊聊有关为什么Python没有return返回值,可能很多人都不太了 ...

  3. php中return返回数组,PHP中return返回数组的一点用法

    本文就学习中遇到的PHP函数return返回值的问题,这一点return用法进行了说明. 在函数的内部用return返回一个值或者为空来结束函数的运行.但是在return一个数组的时候,也可以在函数的 ...

  4. python中函数返回值是函数的函数的用法 func()()

    今天在学习代码的过程中遇见了一个函数 func(x)(x) 不懂是什么意思,于是学习了一下. 形似上面这样的语句,其实就是func(x)的返回值还是一个函数,这个函数是func内定义的函数,返回的函数 ...

  5. java中return返回值_Java中return的用法

    展开全部 一.return语句总是用在方法中,有两个作用. 一个是返回方法指定类型的值(这个值总62616964757a686964616fe59b9ee7ad9431333366306434是确定的 ...

  6. python中sort返回值_Python函数你真的都学会了吗?来看看这篇Python高阶函数!

    二.高阶函数 高级函数, 英文叫 Higher-order Function. 那么什么是高阶函数呢? 在说明什么是=高阶函数之前, 我们需要对函数再做进一步的理解! 2.1 函数的本质 函数的本质是 ...

  7. python中的返回值是什么意思_python中函数的返回值是什么

    函数返回值简介 1.简单介绍print和return的区别,print仅仅是打印在控制台,而return则是将return后面的部分作为返回值:作为函数的输出,可以用变量接走,继续使用该返回值做其它事 ...

  8. python无返回值函数_理解Python 中无返回值函数的问题

    例如 list 的 append 操作就是无返回值的,换句话说就是不能进行形如 list = [] list.append(1).append(2) 这样的连续操作 注意函数返回的数据类型注意是 li ...

  9. python中函数返回值为func 和func() 的区别

    今天看书注意到一个问题,就是有些函数的返回值是直接return func,有些则是return func(),看不清其区别,所以自己探究了一下. 首先定义一个foo函数: def foo(): pas ...

最新文章

  1. Google Colab使用教程
  2. armbian nginx 部署博客_从零开始搭建服务器之更加优雅地部署项目
  3. cac会议投稿难度大吗_注册化工师考试难度大吗?
  4. qt designer 插入图片_真的不错,宁波棉服图片
  5. mybatis报错Type interface xxx.Dao is not...
  6. 蓝桥杯第七届决赛JAVA真题----路径之谜
  7. 前端捕捉轨迹_一篇文章教你如何捕获前端错误
  8. 火狐浏览器百度网盘服务器响应,火狐浏览器打不开百度网盘怎么解决?解决百度网盘打不开的步骤分享...
  9. 喜乐美容美发管理系统 v20070625 加强版 下载
  10. 用计算机收传真,使用计算机发送和接收传真.doc
  11. 新西兰计算机工作好找么,去新西兰留学真的很差么?我看到有很多人都说那边的学习氛围不好而且毕业了不好找工作·········...
  12. beyong compare激活
  13. 网络攻防篇 使用批处理文件进行来恶作剧-01
  14. web开发,如何自动选定打印机进行打印(设置默认打印机打印)
  15. Visual Studio Code插件-前端工程师开发必备
  16. Python统计学:独立样本t检验~均值差的检验
  17. 2022大学生寒假社会实践活动稿件怎样向新闻媒体投稿?
  18. conda安装pytorch下载太慢
  19. 百度大脑UNIT升级,五步完成对话模型私有化部署
  20. 系统消息模块的设计原理

热门文章

  1. 自己制作Chrome绿色版本。
  2. 用Random产生1到10之间的一个随机数
  3. 网络推广平台有哪些优势?
  4. 如何在官网下载tomcat
  5. 重邮2020年硕士研究生入学考试(《数据结构》802)自己做的部分答案
  6. linux scp控制带宽,Linux系统中安装使用Trickle来控制用户带宽
  7. 简单理解什么是虚拟存储器
  8. python文件查重工具,基于文件大小和md5/sha1值
  9. Python利用马青公式计算圆周率Π并写入文件
  10. SpringMVC框架中@ControllerAdvice和对应Advice切面使用原理