在很多编程语言中都有switch/case语法,但是Python中并没有switch语句。相应的应对方法除了if-else语句外,还可以用字典dict来实现;
举例如下:
import outer_fun
class PythonSwitch():
def __init__(self):
self._operator_map = {
'A': self.print_a,
'B': self.print_b,
'out': outer_fun.outer
}
def process(self, messages):
# fun = self._operator_map[messages]
fun = self._operator_map.get(message)
print(fun)
if fun is not None:
fun()
def print_a(self):
print('fun print_a working!')
def print_b(self):
print('fun print_b working!')
if __name__ == '__main__':
message = 'out'
PythonSwitch().process(message)
注意,这里的print_a(),print_b()都是内部函数, outer_fun.outer是为了引进外部函数,模块名为outer_fun,函数名为outer(),举例如下:
# 模块名是outer_fun
def outer():
print('outer function worked!')