【无为则无心&Python基础】— 38、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)

注意:

  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:用来结束函数。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值