假设您有以下内容:
def case_A():
print 'A'
def case_B():
print 'B'
def case_generic():
print 'some generic case'
Run Code Online (Sandbox Code Playgroud)
并value定义并具有一定的价值
您是否看到任何您不希望应用以下模式的方案:
v = {"A":case_A, "B":case_B}
try:
v[value]()
except:
case_generic()
Run Code Online (Sandbox Code Playgroud)
而不是标准:
if value == "A":
case_A()
elif value == "B":
case_B()
...place n more if cases here...
else:
case_generic()
Run Code Online (Sandbox Code Playgroud)
对我来说,第一种情况看起来更紧凑,易于管理,尽管内存略有增加.或者,您是否看到了改善上述方法或使用更好方法的方法?