Python - 包装类


Python 中的函数是一阶对象。一个函数可以有另一个函数作为其参数,并在其中包装另一个函数定义。这有助于修改函数而不实际更改它。此类函数称为装饰器。

此功能也可用于包装类。该技术用于在实例化类后通过将其逻辑包装在装饰器中来管理该类。

例子

def decorator_function(Wrapped):
   class Wrapper:
      def __init__(self,x):
         self.wrap = Wrapped(x)
      def print_name(self):
         return self.wrap.name
   return Wrapper
   
@decorator_function
class Wrapped:
   def __init__(self,x):
      self.name = x
      
obj = Wrapped('TutorialsPoint')
print(obj.print_name())

这里,Wrapped是要包装的类的名称。它作为参数传递给函数。在函数内部,我们有一个 Wrapper 类,使用传递的类的属性修改其Behave,并返回修改后的类。返回的类已实例化,现在可以调用其方法。

当您执行此代码时,它将产生以下输出-

TutorialsPoint