Python 创建 class 的最佳实践,该 class 包含具有相同基数的许多不同类型的 classes
Python best practice for creating a class that wraps many different types of classes with the same base
在 Python 中创建一个 class 的最佳实践是什么,它用相同的基础 class 包装了许多不同类型的 classes?
在我的具体情况下,我有一个基础 class(第一层)代表通用数据馈送,以及从该基础继承的多个 classes(第二层)class代表不同类型的数据源。我想创建一个从第一层或第二层继承的 class,并对来自第二层中定义的源之一的数据执行一些任务。我正在使用一个库,所以无法在 classes.
的这两层之间更改此结构
我想到的两种方法是:
- 创建一个 MetaClass,我可以在运行时创建一个 Class
从 classes 的第二层之一动态继承。这样就会
在第 2 层自动使用其基础 class 的方法。
虽然我如何防止它创建 MetaClass 的实例
当我定义 Class 本身时?以及如何将 MetaClass 设置为
设置 Class?
的 superclass
- 创建一个继承自第一层的class,有一个成员
作为第 2 层 class 实例的变量。虽然,我会
需要为第二层中定义的每个方法创建一个方法
并调用它。
就我个人而言,我更喜欢第二种选择。 Python 座右铭是 "Explicit is better than implicit" 所以我认为最好将对各种方法的调用手动路由到成员对象的方法上。
当然,如果有很多方法,自动路由方法可能会很有趣...
在 Python 中创建一个 class 的最佳实践是什么,它用相同的基础 class 包装了许多不同类型的 classes?
在我的具体情况下,我有一个基础 class(第一层)代表通用数据馈送,以及从该基础继承的多个 classes(第二层)class代表不同类型的数据源。我想创建一个从第一层或第二层继承的 class,并对来自第二层中定义的源之一的数据执行一些任务。我正在使用一个库,所以无法在 classes.
的这两层之间更改此结构我想到的两种方法是:
- 创建一个 MetaClass,我可以在运行时创建一个 Class 从 classes 的第二层之一动态继承。这样就会 在第 2 层自动使用其基础 class 的方法。 虽然我如何防止它创建 MetaClass 的实例 当我定义 Class 本身时?以及如何将 MetaClass 设置为 设置 Class? 的 superclass
- 创建一个继承自第一层的class,有一个成员 作为第 2 层 class 实例的变量。虽然,我会 需要为第二层中定义的每个方法创建一个方法 并调用它。
就我个人而言,我更喜欢第二种选择。 Python 座右铭是 "Explicit is better than implicit" 所以我认为最好将对各种方法的调用手动路由到成员对象的方法上。
当然,如果有很多方法,自动路由方法可能会很有趣...