擅长:python、mysql、java
<p>使用字典将可能的输入映射到操作,如下所示:</p>
<pre><code>def foo(bar):
def a():
print('a():')
def b():
print('b():')
def c():
print('c():')
actions = {'A': a, 'B': b, 'C': c}
if bar in actions:
actions[bar]()
else:
raise ValueError('legal input of bar should be {}'.format(sorted(actions.keys())))
</code></pre>
<p>演示:</p>
<pre><code>>>> foo('A')
a():
>>> foo('Z')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "x.py", line 15, in foo
raise ValueError('legal input of bar should be {}'.format(sorted(actions.keys())))
ValueError: legal input of bar should be ['A', 'B', 'C']
</code></pre>