【无为则无心&Python基础】— 38、Python中函数的返回值

本文深入讲解函数返回值的概念,包括return语句的作用、返回值的数据类型、如何返回多个值及函数调用的区别。同时,提供了丰富的示例代码帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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:用来结束函数。
回答: 在Python中,self是一个约定俗成的参数名,它代表类的实例,而非类本身。在类的方法中,self参数必须定义,但在调用时会自动传入。通过self,我们可以访问类中的公共变量和方法。\[1\] 使用self可以实现对类中的属性进行赋和访问。例如,在类的初始化方法\_\_init\_\_中,我们可以将接收到的参数赋给self中的属性,以便全类使用。同时,在类的其他方法中,我们可以通过self来调用其他方法,确保方法的调用正确性。\[3\] 需要注意的是,如果在类中调用其他方法时不使用self进行调用,将会报错。因为self总是指调用时的类的实例,在继承时也是一样的。\[3\] 总结起来,self在Python中的作用是表示类的实例,通过self可以访问类中的属性和方法。它的名字并不是规定死的,可以自定义,但约定俗成的使用self可以减少代码理解的难度。\[2\] #### 引用[.reference_title] - *1* *2* *3* [『无为则无心Python面向对象 — 47、Python中的self详解](https://blog.csdn.net/qq_45562973/article/details/123065042)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值