python - 创建一个类的 Python 最佳实践,该类使用相同的基类包装许多不同类型的类
问题描述
在 Python 中创建一个使用相同基类包装许多不同类型的类的类的最佳实践是什么?
在我的具体情况下,我有一个表示通用数据馈送的基类(第 1 层),以及从该基类继承的代表不同类型数据源的多个类(第 2 层)。我想创建一个继承自第 1 层或第 2 层的类,并对来自第 2 层中定义的源之一的数据执行一些任务。我正在使用一个库,因此无法在这两层类之间更改此结构。
我想这样做的两种方法是:
- 创建一个 MetaClass,我可以在运行时创建一个类,该类将从第二层类之一动态继承。这样,它将自动在第二层使用其基类的方法。虽然在定义类本身时如何防止它创建 MetaClass 的实例?以及如何让 MetaClass 设置 Class 的超类?
- 创建一个从第一层继承的类,具有一个成员变量,它是第二层类的实例。虽然,我需要为第二层中定义的每个方法创建一个方法并调用它。
解决方案
就个人而言,我更喜欢第二种选择。Python 的座右铭是“显式优于隐式”,所以我认为最好手动将对各种方法的调用路由到成员对象的方法上。
当然,如果有很多方法,自动路由方法可能会很有趣......
推荐阅读
- python - 如何获得熊猫条形图的颜色
- pyspark - 在火花中创建表需要很多时间
- numpy - sparkSQL 过滤器功能不适用于 NaN
- c# - 设置 Response.Cookies[ASP.NET_SessionId].Secure = true; 在代码中清除我的 HttpContext.Current.Session["anyData"]
- c++ - 如何使用 OpenMP 并行化嵌套的 for 循环
- java - 如何用逗号分隔递归字符串
- python - 断言 self.selection 不是无,“字段 %s 没有选择”% self
- flutter - Flutter:如何等待异步功能完成?
- json - 我应该在 GET 响应中返回对象 ID 还是整个对象实体?
- eclipse - eclipse 在运行 .jsp 文件时停止响应