我尝试在Python中实现开关/外壳机制。在阅读了几个网站和问题后(例如this one),我构建了下面的代码。但它的行为是错误的,具有我所理解的 - 一个可以是problematic to get的转折,当然不是默认的预期结果。在Python字典中翻译替换开关/外壳
def something():
print 'something'
def somethingElse():
print 'something else'
def switch():
cases = {
0: something(),
1: something(),
2: something(),
3: something(),
4: something(),
5: something()
}
cases.get(2, somethingElse())
switch()
(显然,对于每一种情况下相同的开关仅仅是用于示例的目的)
当我运行它,我期望something()
要只运行一次(如我手动输入2
)。但是,控制台中的输出为:
something
something
something
something
something
something
something else
这意味着它运行了6次加上默认值运行。我不明白在这个代码中允许这样一个转折吗?或者问题可能不同?
这是Python 2.7.12这里。
谢谢错误是明显在'()'应该是运行一个函数的地方。谢谢你方的意见,我会纠正这些。 – adamczi