在Python中用字典存储方法

时间:2017-01-09 21:22:12

标签: python class dictionary

我正在尝试编写一个可以从各个子模块初始化类的程序。为了便于将来扩展模块,我想将它们的构造函数和一些关键函数存储在字典中。我遇到的问题是函数没有被识别为属性,我不确定如何解决这个问题。对于构造函数来说似乎没什么问题。代码看起来像这样:

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(...):
      ...

有没有办法可以实现这样的目标?我已经看到一些示例,其中调度程序以类似的方式工作,但是希望将其抽象为方法。

我感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

问题在于这一行:

my_inst.class_func["my_class"](some,other,arguments)

class_func不属于my_inst(来自您已经展示的内容)。