我正在尝试编写一个可以从各个子模块初始化类的程序。为了便于将来扩展模块,我想将它们的构造函数和一些关键函数存储在字典中。我遇到的问题是函数没有被识别为属性,我不确定如何解决这个问题。对于构造函数来说似乎没什么问题。代码看起来像这样:
import my_class
class_ctor = {"my_class":my_class.my_class, ...}
class_func = {"my_class":my_class.my_class.func, ...}
my_inst = class_ctor["my_class"](what,ever,arguments)
my_inst.class_func["my_class"](some,other,arguments)
在my_class.py中:
class my_class:
def __init__(self):
...
def func(...):
...
有没有办法可以实现这样的目标?我已经看到一些示例,其中调度程序以类似的方式工作,但是希望将其抽象为方法。
我感谢任何帮助!
答案 0 :(得分:2)
问题在于这一行:
my_inst.class_func["my_class"](some,other,arguments)
class_func
不属于my_inst
(来自您已经展示的内容)。