Python 类装饰器是一种高级功能,它可以将装饰器用于类,并且可以拓展修饰类的功能和特性。
# 定义一个装饰器 def my_decorator(cls): # 在类中添加一个新函数 def new_function(self): print("New Function Added!") cls.new_function = new_function # 返回修改后的类 return cls
上面的代码是定义一个装饰器的例子,这个装饰器函数接收一个类作为参数,并在类中添加了一个新函数。最后返回修改后的类。
# 使用装饰器修饰类 @my_decorator class MyClass: def my_function(self): print("Original Function")
上面的代码中,@my_decorator 指定将装饰器应用于 MyClass。这个过程相当于将 MyClass 作为参数传递给 my_decorator 装饰器。
# 实例化 MyClass 对象并运行函数 obj = MyClass() obj.my_function() obj.new_function()
上面的代码实例化 MyClass,并运行 MyClass 中的两个函数。其中,new_function 是通过使用装饰器添加到 MyClass 中的。
使用类装饰器可以实现避免重复代码和减少代码量,它可以将修饰类的过程从类定义中分离出来,让代码更加清晰易懂。