【发布时间】:2017-01-09 21:22:12
【问题描述】:
我正在尝试编写一个可以从各种子模块初始化类的程序。为了方便以后扩展模块,我想将它们的构造函数和一些关键函数存储在字典中。我遇到了功能未被识别为属性的问题,并且不确定如何解决此问题。对于构造函数来说似乎很好。代码应如下所示:
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(...):
...
有没有办法可以实现这样的目标?我见过一些示例,它们的调度程序以类似的方式工作,但希望将其抽象为方法。
感谢您的帮助!
【问题讨论】:
-
什么不起作用?
-
你不需要做这一切。如果要扩展类,可以继承父类作为子类
-
如果我运行程序,它会显示“my_class 没有名为 func 的属性”。而且我不想继承这个类。我有一个程序的主要部分,它就像一种调度程序,根据用户想要运行的不同类调用函数。
-
您必须与我们分享
my_class.py文件的内容。它将帮助我们更好地为您提供帮助 -
好的,刚刚添加了。
标签: python class dictionary