自定义函数中的print,return和调用函数自身的区别

本文通过实例对比了Python中print与return的区别,解析了它们在递归函数中的表现,强调了return用于返回函数结果的重要性。

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

在自定义函数中,我们常常会用到返回值,常常用的方式就是print和return,两者有什么区别呢

先看两个例子:

题目:

#     L = [[3, 5, 8], 10, [[13, 14], 15, 18], 20]
#     1) 写一个函数print_list(lst) 打印出所有元素
#       print_list(L)  # 打印 3 5 8 10 13 14 ...

def print_list(L):
    for l in L:
        if type(l) is int:
            print(l)
        else:
            print_list(l)

结果:

3
5
8
10
13
14
15
18
20

L = [[3, 5, 8], 10, [[13, 14], 15, 18], 20]        
print_list(L)

就会将结果打印出来了

若是将上述的红色部分换成print(print_list(l))时,是什么结果呢

def print_list(L):
    for l in L:
        if type(l) is int:
            print(l)
        else:
            print(print_list(l))

L = [[3, 5, 8], 10, [[13, 14], 15, 18], 20]        
print_list(L)

结果如下:

3
5
8
None
10
13
14
None
15
18
None
20

若是将上述的红色部分换成return(print_list(l))时,是什么结果呢

def print_list(L):
    for l in L:
        if type(l) is int:
            print(l)
        else:
            return(print_list(l))

L = [[3, 5, 8], 10, [[13, 14], 15, 18], 20]        
print_list(L)

结果如下:

3
5
8

为什么三者的结果会不一样,第一种是直接调用自定义函数print_list(l),第二种是利用内建函数print打印并返回结果,第三种是利用内建函数return。自定义函数如果不使用return,那么返回的结果就是None。如果利用return,则返回时表示完成调用函数,并释放函数的空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值