构造如下 Case 类,包含两个方法 test 和 act ,test 用于判断条件, act 用于执行相应操作
class Case:
def test(self):
pass
def act(self):
pass
class Case1(Case):
def test(self, state):
return state == 1
def act(self, state):
print('case 1')
class Case2(Case):
def test(self, state):
return state == 2
def act(self, state):
print('case 2')
class Case3(Case):
def test(self, state):
return state == 3
def act(self, state):
print('case 3')
class CaseDefault(Case):
def test(self, state):
return True
def act(self, state):
print('No match case!')
然后就可以使用 for 循环来实现 switch-case 啦!
cases = [
Case1(),
Case2(),
Case3(),
CaseDefault()
]
state = 1
for case in cases:
if case.test(state):
case.act(state)
break



本文介绍了一种在Python中模拟switch-case结构的方法。通过定义多个Case子类,每个子类包含test方法用于判断状态是否匹配,以及act方法用于执行对应的操作。通过for循环遍历这些Case实例,可以实现类似switch-case的功能。
1668





