Python最佳实践,用于创建一个包含许多不同类型的类的类,具有相同的基础

时间:2018-05-03 15:52:56

标签: python python-3.x metaclass

在Python中创建一个包含许多不同类型的类具有相同基类的类的最佳做法是什么?

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

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

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

1 个答案:

答案 0 :(得分:0)

就个人而言,我更喜欢第二种选择。 Python的座右铭是"明确比隐含更好"所以我认为将各种方法的调用手动路由到成员对象的方法上会更好。

当然,如果有很多方法,那么自动路由这些方法可能会很有趣......