python返回函数学习笔记

博客介绍了Python中高级函数可将函数作为结果返回。以求和函数为例,展示了不直接返回计算和,而是返回计算函数的实现。调用外部函数返回内部函数,内部函数可调用外部函数参数和变量,这种形式被称为“闭包”,且每次生成的函数都不同。

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

python返回函数

python中的高级函数除了可以接受函数作为参数,还可以把函数作为结果返回;
例如:一个求和函数
def sums(*args):
sum1 = 0
for i in args:
sum1 = sum1 + i
return sum1

这个函数用于计算传入的list或tuple元素之和,如果我们不需要马上得到计算结果,而是在需要的时候得到计算结果呢:
所以,我们可以不返回计算的和,而是返回计算的函数:
def lazy_sum(*args):
def sums():
sum1 = 0
for i in args:
sum1 = sum1 + i
return sum1
return sums

这里,我们调用lazy_sum函数时传入args参数,可以被其内部函数sums调用,同时返回一个包含有计算结果的函数sums
执行函数
返回结果
此时调用f(),才会返回该函数计算的值!!

调用f(0
调用结果
我们称呼sums函数为内部函数,称呼lazy_sum函数为外部函数,内部函数可以调用外部函数的参数和局部变量;当lazy_sum返回函数sums时,sums所使用的相关参数和变量都保存在返回的函数中,我们称之为“闭包(closure)”;
使用这种返回函数方式生成的函数,每一次都是不一样的;
在这里插入图片描述
在这里插入图片描述
未完,待补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值