闭包,装饰器

文章介绍了Python编程中的闭包和装饰器概念。闭包是一个函数内部定义并返回的函数,它可以记住外部函数的作用域。装饰器用于避免代码重复,提高代码可读性和职责分离,其定义需包含一个形参,并通过`@装饰器名`的方式应用到其他函数上。示例中展示了如何使用装饰器来增强函数的功能。
摘要由CSDN通过智能技术生成

一、闭包

闭包函数就是一个函数里面定义另一个函数 调用函数返回内层函数

def Demo():
    def func():

        print(f"我的名字")
        print(f"我的年龄")
        print(f"我的爱好")
    return func    #调用的函数不加()

Demo()()

二、装饰器

作用:避免代码重复编写、简化流程、职责分离、增强代码可读性

注意事项:

  1. 在闭包内 必须要传入 一个形参 
  2. 这个形参 就是所有函数 调用形参时就是在调用所有函数
  3. 我们想使用装饰器 首先得定义一个闭包
  4. 函数名前 加@闭包名 是装饰器 也可以称为帽子
def Demo(a):  #需要写个形参
    def func():
        a()   #加入形参可以打印定义函数A的值,不加不打印
        print(f"我的名字")
        print(f"我的年龄")
        print(f"我的爱好")
    return func



@Demo
def A():
    print(f"我是A")
A()

@Demo
def B():
    print(f"我是B")
B()

闭包装饰器是一种特殊的装饰器,它使用闭包的概念来实现。闭包是指一个函数可以访问并操作其外部函数中定义的变量。在Python中,闭包装饰器可以用于给函数添加额外的功能,同时保持函数的原始定义不变。 引用中的示例展示了装饰器传参的形式。在这个例子中,outer函数是一个装饰器,它将inner函数作为子函数返回,并在inner函数中添加了额外的功能。通过使用@outer装饰器语法,我们可以在add函数上应用outer装饰器,从而在调用add函数时执行装饰器中的代码。 引用中的示例展示了多层装饰器的使用。在这个例子中,outer1和outer2函数分别是两个装饰器,他们都返回一个inner函数。通过使用@outer1和@outer2装饰器语法,我们可以在outers函数上应用这两个装饰器,并在调用outers函数时按照装饰器的定义顺序执行相关的代码。 引用提供了关于Python闭包装饰器的使用方法的总结。这篇文章通过示例代码详细介绍了闭包装饰器的使用,对于学习和工作有一定的参考价值。 引用中的示例展示了装饰器的形式。在这个例子中,outer函数是一个装饰器,它将inner函数作为子函数返回,并在inner函数中添加了额外的功能。通过使用@outer装饰器语法,我们可以在add函数上应用outer装饰器,从而在调用add函数时执行装饰器中的代码。 综上所述,Python闭包装饰器是一种利用闭包概念实现的特殊装饰器,可以用于给函数添加额外的功能。这种装饰器可以通过装饰器传参的形式、多层装饰器的形式或普通的装饰器形式来实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有头发的小朋友

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值