哪种模式最适合在 python 中执行不同的操作(取决于用户输入)

What pattern is best suited for executing different actions (depending on user input) in python

我想在 python 中编写一个程序,用户将能够决定 运行 在 运行 时执行什么操作,而且我还想让我的程序设计得很好,以便能够轻松地添加操作。 假设用户输入“3 4 add” 那么输出将是 7 如果他写“3 4 mul” 那么输出将是 12.

请注意,我不是在寻找传统的 "if, elif, elif" 等, 因为我想做一个设计,让其他程序员可以方便地添加操作。

我应该使用什么模式,以及tips/guide如何实现它?

编辑: 只是为了确保我已经解释过了,其他程序员将无法访问主程序的代码,但他们应该仍然可以添加对程序的不同操作。

谢谢。

import operator

# custom function 

def diff_squares(a, b):
    return a ** 2 - b ** 2

operators = {'add' : operator.add,
             'sub' : operator.sub,
             'mul' : operator.mul,
             'div' : operator.div,
             'dos' : diff_squares}

data = raw_input('Question: ')
data = data.split()

a = int(data[0]) # one number
b = int(data[1]) # two number

answer = operators[data[2]](a, b)
print 'Solution:', answer