python高级进阶_5_闭包的使用场景02

本文通过具体示例,展示了如何使用Python中的闭包来避免重复传递相同的参数,从而简化代码,提高开发效率。通过定义外层函数捕获外部变量,并返回一个内嵌函数,可以实现在多次调用中固定部分参数的效果。

我先举个例子 代码如下:

def test(a,b,c):
    print( a*b+c)


test(1,1,2)
test(1,1,3)
test(1,1,4)
test(1,1,5)
test(1,1,6)
test(2,2,1)
test(2,2,2)
test(2,2,3)
test(2,2,4)

我们会发现一个共同的问题, a,b 是固定的,只是c 会变动,如何减少a,b 参数的传递, 开发的信仰咱们忘了吗 , 不写重复的代码 。

那如何解决呢, 就用到闭包 , 修改下

def test(a,b):
    def test_in(c):
        print( a*b+c)
    return  test_in


num=test(1,1)   # 把test_in 引用交给了num

num(2)  # 执行 内嵌函数
num(3) # 达到了减少 参数的传递, 
num(4)
num(5)

num_02=test(2,2)  # 如果不想用上边的 a,b 值 可以用重新创建新的引用 num_02
num_02(2)
num_02(3)
num_02(4)
num_02(5)


num(6)   #   这个依然会继续执行, 还是按照a=1,b=1   他们是开辟两个不同的空间。 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值