我试图在 python 类中使用 dict 作为 switch 语句,如下所示:
class MyClass:
METHODS_MAP = {} # I want to place map here
# some code here
def caller(self, instructions):
methods_map = {
"a": self.a,
"b": self.b
}
for key, value in instructions.items():
methods_map[key](value)
def a(self, val):
print("Called a")
def b(self, val):
print("Called b")
a = MyClass()
instr = {"b": 12, "a": 14}
a.caller(instr)
现在它工作得很好,但我需要将methods_map方法定义放置在与静态变量相同的级别,正如有些人可能会说的那样。我试过这个:
class MyClass:
METHODS_MAP = {
"a": self.a
}
或者
class MyClass:
METHODS_MAP = {
"a": a
}
但无论哪种方式,它都不知道类方法。我怎样才能让它按照我的方式工作?
慕尼黑的夜晚无繁华
浮云间
相关分类