python闭包两种写法_python 中 闭包的基础知识详解

闭包

大家都感觉闭包是很基础 但是很绕的东西。那我就根据一串代码给大家讲解一下吧。

def create_line(a):

def line():

print(a)

return line

ret = create_line(“哎呦,不错啊”)

ret()

这就是一个简单的闭包

这个闭包的创建过程:

创建一个外层方法 传入一个参数 让内层方法引用外层方法的参数 在外层方法中返回内层方法的引用。(此处的引用类似调用函数 和调用函数相比 只有一个小括号的区别 此处无小括号)

闭包的意义是有提高代码可复用性的作用。 为什么这么说呢? 请看下边的代码

这个是一个一元一次方程 y=kx + b 想让这方程能够使用 如何使用闭包实现呢?

def a(k,b):  # 先定义一个方法将参数k(系数)b(节距)传入 这两个参数假设为已知

def b(x):        # 传入自变量x

print(k*x+b)    # 将方程式传入

return b      # 返回b函数的引用

c = a(1,3)   # 调用a函数 返回值为b函数的引用 传入参数 k,b的值

c(4)    # 调用b函数 向中传入参数c的值

d = a(2,3)

e(5)

....

这样就会提高代码的重复利用率。

而且 c 和 e是相互不影响的   就是  我们之后 在给c d 直接赋值就会直接使用对应k,b的值。

这就是闭包的基础知识点 是不是很简单呢?

有什么问题请评论区留言哦~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值