在 Python 中自动生成包装器 类
Autogenerate wrapper classes in Python
我用一个库做了很多工作,其中几乎所有 class 都是不可继承的,但我想扩展它们。
说 class A 是不可继承的。我经常通过将 self._obj
存储为属性来创建 "wrapper" classes,然后在调用之前手动实现所有方法和所有属性(使用 @property
)以执行某些行为_obj
上的相同方法。 Here's an example.
有没有更好的方法来扩展不可继承的 classes,或者至少有某种方法可以自动执行这个繁琐的过程?
是:只需定义 __getattr__
即可查找 self._cell
上的属性。
我用一个库做了很多工作,其中几乎所有 class 都是不可继承的,但我想扩展它们。
说 class A 是不可继承的。我经常通过将 self._obj
存储为属性来创建 "wrapper" classes,然后在调用之前手动实现所有方法和所有属性(使用 @property
)以执行某些行为_obj
上的相同方法。 Here's an example.
有没有更好的方法来扩展不可继承的 classes,或者至少有某种方法可以自动执行这个繁琐的过程?
是:只需定义 __getattr__
即可查找 self._cell
上的属性。