Python 创建类的最佳实践,该类将许多不同类型的类包装为相同的基



在 Python 中创建一个用同一基类包装许多不同类型的类的类的最佳实践是什么?

在我的特定情况下,我有一个表示通用数据馈送的基类(第一层(,以及从此基类继承的多个类(第二层(,这些基类表示不同类型的数据源。我想创建一个从第一层或第二层继承的类,并对来自第二层中定义的源之一的数据执行一些任务。我正在使用库,因此无法在这两层类之间更改此结构。

我想这样做的两种方法是:

  1. 创建一个元类,我可以在其中创建一个在运行时将 从第 2 层类之一动态继承。这样它将 自动使用第二层中基类的方法。 虽然我如何防止它创建元类的实例 当我定义类本身时?以及如何使元类 设置类的超类?
  2. 创建一个从第一层继承的类,该类具有成员 变量是第 2 层类的实例。虽然,我会 需要为第二层中定义的每个方法创建一个方法 并称之为。

就个人而言,我更喜欢第二种选择。Python 的座右铭是"显式优于隐式",因此我认为最好手动将对各种方法的调用路由到成员对象的方法上。

当然,如果有很多方法,自动路由方法可能会中断......

最新更新