python中函数的返回值详解

打印 上一主题 下一主题

主题 776|帖子 776|积分 2328

1.返回值介绍

现实生活中的场景:
我给儿子10块钱,让他给我买包烟。这个例子中,10块钱是我给儿子的,就相当于调用函数时传递到参数,让儿子买烟这个事情最终的目标是,让他把烟给你带回来然后给你对么,,,此时烟就是返回值
开发中的场景:
  1. 定义了一个函数,完成了获取室内温度,想一想是不是应该把这个结果给调用者,只有调用者拥有了这个返回值,才能够根据当前的温度做适当的调整
复制代码
综上所述:
所谓“返回值”,就是程序中函数完成一件事情后,最后给调用者的结果
2.带有返回值的函数

想要在函数中把结果返回给调用者,需要在函数中使用return
如下示例:
  1. def add2num(a, b):
  2.         c = a+b
  3.     return c
复制代码
或者
  1. def add2num(a, b):
  2.     return a+b
复制代码
3.保存函数的返回值

在本小节刚开始的时候,说过的“买烟”的例子中,最后儿子给你烟时,你一定是从儿子手中接过来 对么,程序也是如此,如果一个函数返回了一个数据,那么想要用这个数据,那么就需要保存
保存函数的返回值示例如下:
  1. #定义函数
  2. def add2num(a, b):
  3.         return a+b
  4. #调用函数,顺便保存函数的返回值
  5. result = add2num(100,98)
  6. #因为result已经保存了add2num的返回值,所以接下来就可以使用了
  7. print (result)
复制代码
结果:
  1. 198
复制代码
4.四种函数的类型

函数根据有没有参数,有没有返回值,可以相互组合,一共有4种

  • 无参数,无返回值
  • 无参数,又反悔
  • 有参数,无返回值
  • 有参数,有返回值
1.无参数,无返回值的函数

此类函数,不能接收参数,也没有返回值,一般情况下,打印提示灯类似的功能,使用这类的函数
  1. def printMenu():
  2.     print('--------------------------')
  3.     print('      xx涮涮锅 点菜系统')
  4.     print('')
  5.     print('  1.  羊肉涮涮锅')
  6.     print('  2.  牛肉涮涮锅')
  7.     print('  3.  猪肉涮涮锅')
  8.     print('--------------------------')
复制代码
结果:

2.无参数,有返回值的函数

此类函数,不能接收参数,但是可以返回某个数据,一般情况下,像采集数据,用此类函数
  1. # 获取温度
  2. def getTemperature():
  3.     #这里是获取温度的一些处理过程
  4.    
  5.     #为了简单起见,先模拟返回一个数据
  6.         return 24
  7. #小编创建了一个Python学习交流群:725638078
  8. temperature = getTemperature()
  9. print('当前的温度为:%d'%temperature)
复制代码
结果:
  1. 当前的温度为: 24
复制代码
3.有参数,无返回值的函数

此类函数,能接收参数,但不可以返回数据,一般情况下,对某些变量设置数据而不需结果时,用此类函数
4.有参数,有返回值的函数

此类函数,不仅能接收参数,还可以返回某个数据,一般情况下,像数据处理并需要结果的应用,用此类函数
  1. # 计算1~num的累积和
  2. def calculateNum(num):
  3.     result = 0
  4.     i = 1
  5.     while i<=num:
  6.         result = result + i
  7.         i+=1
  8.     return result
  9. result = calculateNum(100)
  10. print('1~100的累积和为:%d'%result)
复制代码
本质是利用了元组

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

欢乐狗

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表