【发布时间】:2015-03-16 23:36:04
【问题描述】:
我有一个类似开关的东西,给定一个选项将调用一个函数,例如
#... capture option
op = getOption()
#.. capture metric
mt = getMetric()
def zipcode():
print "You typed zero.\n"
def desc():
print "n is a perfect square\n"
def address():
print "n is an even number\n"
#call desired option
options= {0 : zipcode,
1 : code,
2 : desc,
3 : address
}
options[op]()
我正在尝试将一个参数 (mt) 传递到我的 options 字典中,该字典将调用一个函数,但我无法这样做。
如果收到的 op 是 1 并且 mt 是 foo,如何通过传递 mt 作为参数来调用正确的函数(邮政编码)?
理想情况下:options[op](mt) 并在函数中定义一个参数?
谢谢
【问题讨论】:
-
"理想情况下:options[op](mt) 并在函数中定义一个参数?"嗯,是。鉴于您知道答案,我不确定您在问什么。
-
我的错,我还在字典中指定了参数,例如:
options= {0 : zipcode(param1), ..。我还在学习这个很棒的 python 技巧!还是谢谢
标签: python dictionary switch-statement function-calls