python中函数的返回值及类型详解

作者:Python学习者 时间:2023-02-17 10:58:11 

1.返回值介绍

现实生活中的场景:

我给儿子10块钱,让他给我买包烟。这个例子中,10块钱是我给儿子的,就相当于调用函数时传递到参数,让儿子买烟这个事情最终的目标是,让他把烟给你带回来然后给你对么,,,此时烟就是返回值

开发中的场景:

定义了一个函数,完成了获取室内温度,想一想是不是应该把这个结果给调用者,只有调用者拥有了这个返回值,才能够根据当前的温度做适当的调整

综上所述:

所谓“返回值”,就是程序中函数完成一件事情后,最后给调用者的结果

2.带有返回值的函数

想要在函数中把结果返回给调用者,需要在函数中使用return

如下示例:

def add2num(a, b):
c = a+b
   return c

或者

def add2num(a, b):
   return a+b

3.保存函数的返回值

在本小节刚开始的时候,说过的“买烟”的例子中,最后儿子给你烟时,你一定是从儿子手中接过来 对么,程序也是如此,如果一个函数返回了一个数据,那么想要用这个数据,那么就需要保存

保存函数的返回值示例如下:

#定义函数
def add2num(a, b):
return a+b
#调用函数,顺便保存函数的返回值
result = add2num(100,98)
#因为result已经保存了add2num的返回值,所以接下来就可以使用了
print (result)

结果:

198

4.四种函数的类型

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

  • 无参数,无返回值

  • 无参数,又反悔

  • 有参数,无返回值

  • 有参数,有返回值

1.无参数,无返回值的函数

此类函数,不能接收参数,也没有返回值,一般情况下,打印提示灯类似的功能,使用这类的函数

def printMenu():
   print('--------------------------')
   print('      xx涮涮锅 点菜系统')
   print('')
   print('  1.  羊肉涮涮锅')
   print('  2.  牛肉涮涮锅')
   print('  3.  猪肉涮涮锅')
   print('--------------------------')

结果:

python中函数的返回值及类型详解

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

此类函数,不能接收参数,但是可以返回某个数据,一般情况下,像采集数据,用此类函数

# 获取温度
def getTemperature():
   #这里是获取温度的一些处理过程
   #为了简单起见,先模拟返回一个数据
return 24
#小编创建了一个Python学习交流群:725638078
temperature = getTemperature()
print('当前的温度为:%d'%temperature)

结果:

当前的温度为: 24

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

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

4.有参数,有返回值的函数

此类函数,不仅能接收参数,还可以返回某个数据,一般情况下,像数据处理并需要结果的应用,用此类函数

# 计算1~num的累积和
def calculateNum(num):
   result = 0
   i = 1
   while i<=num:
       result = result + i
       i+=1
   return result
result = calculateNum(100)
print('1~100的累积和为:%d'%result)

结果:

1~100的累积和为: 5050

5.小结

函数根据有没有参数,有没有返回值可以相互组合 定义函数时,是根据实际的功能需求来设计的,所以不同开发人员编写的函数类型各不相同

5.在python中我们可不可以返回多个值?

>>> def divid(a, b):
...     shang = a//b
...     yushu = a%b
...     return shang, yushu
...
>>> sh, yu = divid(5, 2)
>>> sh
5
>>> yu
1

本质是利用了元组

来源:https://juejin.cn/post/7216594359115153464

标签:python,函数,返回值,类型
0
投稿

猜你喜欢

  • 如何正确处理ajax 302跳转问题回博客首页

    2009-02-28 14:01:00
  • Python语法之精妙的十个知识点(装B语法)

    2022-04-15 21:43:51
  • 深入理解Vue生命周期、手动挂载及挂载子组件

    2024-05-02 16:33:05
  • python 实现全球IP归属地查询工具

    2023-10-05 16:31:33
  • 聊聊python 逻辑运算及奇怪的返回值(not,and,or)问题

    2021-08-07 01:04:42
  • MySQL 数据库优化的具体方法说明

    2024-01-15 08:26:13
  • 为什么我们需要在SQL Server里更新锁

    2024-01-16 01:37:39
  • 解决python删除文件的权限错误问题

    2023-09-06 07:33:36
  • C#操作SQLite数据库方法小结(创建,连接,插入,查询,删除等)

    2024-01-23 01:06:29
  • 设计英文网站要注意的问题

    2011-04-28 11:22:00
  • JS获取网页图片name属性的方法

    2024-04-28 09:46:19
  • seatunnel 2.3.1全流程部署使用教程

    2022-02-01 02:38:51
  •  Python错误与异常处理

    2022-10-28 01:10:33
  • JS中实现JAVA的hashCode算法

    2008-08-03 17:00:00
  • 用JavaScript脚本实现的图灵机

    2009-01-21 18:10:00
  • 三种不同方式连接MySQL数据库的方法及示例

    2010-06-11 13:37:00
  • Python Pandas如何获取和修改任意位置的值(at,iat,loc,iloc)

    2024-01-01 23:16:43
  • 原生js仿浏览器滚动条效果

    2024-04-10 16:09:33
  • ASP中类的详细介绍(class Property Get、Property Let)

    2008-02-20 19:18:00
  • python用plotly实现绘制局部放大图

    2021-06-13 06:30:44
  • asp之家 网络编程 m.aspxhome.com