首页 > 解决方案 > 在工厂函数和动态继承之外定义类

问题描述

我有一个动态继承的工厂实现,这个脚本工作正常我能够在运行时传递一个父类来继承,如下所示:

def some_proc_class_factory(proc_class_base, prop1, prop2, sp_id, group_id):
    class concrete_proc_class(proc_class_base):
        def __init__(self, proc_class_base, prop1, prop2, sp_id, group_id):
            proc_class_base.__init__(self, sp_id=sp_id, group_id=group_id)
            self.prop1 = prop1
            self.prop2 = prop2

        def main(self):
            self.do_something()
            self.get_some_data()

        def do_something(self):
            self.logger.debug("Here we go !")
            self.logger.debug(get_datetime_range(1440))

        def get_some_data(self):
            st, et = get_datetime_range(1440)
            self.logger.debug(get_performance_data(self.dbc, "users", "results", st, et))
    return concrete_proc_class(proc_class_base, prop1, prop2, sp_id, group_id)

但是现在我想在工厂函数之外重构这个定义类,只有 return 语句,以便可以从另一个模块导入类,这在 Python 中可能吗?这应该适用于 python 2 & 3

标签: python

解决方案


推荐阅读