首页 > 其他分享 >类装饰器

类装饰器

时间:2022-12-15 20:13:59浏览次数:40  
标签:__ res Auth add func 装饰 def

# 类装饰器之:加在类上的装饰器
# def auth(func):
#     def inner(*args, **kwargs):
#         print("我要开始了")
#         res = func(*args, **kwargs)
#         res.name='lqz'
#         return res
#
#     return inner
#
#
# @auth  # Person=auth(Person)  # 加在类上的装饰器
# class Person():
#     pass
#
# p=Person()
# print(p.name)


# 类装饰器之:装饰器是类
class Auth():
    def __init__(self, func):
        self.func = func

    def __call__(self, a, b):
        print('我要开始加了')
        res = self.func(a, b)
        return res


@Auth  # add=Auth(add)
def add(a, b):  # add 是Auth的对象
    return a + b


res=add(4,5)  # add加括号,会触发Auth的__call__
print(res)

 

标签:__,res,Auth,add,func,装饰,def
From: https://www.cnblogs.com/shangxin-bai/p/16985920.html

相关文章

  • 设计模式 学习目的 举例:装饰器模式和代理模式
    1.装饰器模式和代理模式  2.学习目的 ......
  • 装饰者模式案例
    在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。拿一个咖啡对象,以摩卡对象来装饰它,以奶泡对象来装......
  • CSS基础-装饰,基线,光标类型,边框圆角(胶囊),文字溢出,元素隐藏,边框合并,css画三角形
    CSS基础-装饰目录CSS基础-装饰1.1认识基线(了解)1.2文字对齐问1.3垂直对齐方式(拓展)项目中vertical-align可以解决的问题2.1光标类型3.1边框圆角3.2边框圆角的常见......
  • 极客编程python入门-装饰器
    装饰器在函数调用前后自动打印日志,但又不希望修改now()函数的定义,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。由于函数也是一个对象,而且函数对象可以......
  • Python之装饰器
    1.装饰器简介python的装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。简单的说装饰器就是......
  • CBV加装饰器的三种方式
    CBV如何加装饰器#先导包:fromdjango.utils.decoratorsimportmethod_decorator#方式一,加在某个具体的方法上,格式:@method_decorator(装饰器名字)#方式二,加在类上,格式......
  • Python学习基础笔记十九——装饰器
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • 彻底理解Python中的闭包和装饰器(上)
    什么是闭包闭包(Closure)其实并不是Python独有的特性,很多语言都有对闭包的支持。(当然,因为Python是笔者除C/C++之外学习的第二门语言,所以也是第一次遇到闭包。)简而言之,闭包实......
  • 彻底理解Python中的闭包和装饰器(下)
    上篇讲了Python中的闭包,本篇要讲的装饰器就是闭包的一个重要应用。如果你还不知道什么是闭包,猛戳这里阅读:彻底理解Python中的闭包和装饰器(上)什么是装饰器装饰器的作用是......
  • 在django如何给CBV添加装饰器?
    在Django中,给CBV添加装饰器有几种方式?在类视图中使用为函数视图准备的装饰器时,不能直接添加装饰器,需要使用method_decorator将其转换为适用于类视图方法的装饰器。method......