Python中没有switch - case结构,如何自己实现一个,
#pyton中没有switch结构定义一个类似于switch的类
class switch(object):
def __init__(self, value):
self.value = value
self.fall = False
def __iter__(self):
yield self.match
raise StopIteration
def match(self, *args):
if self.fall or not args:
return True
elif self.value in args:
self.fall = True
return True
else:
return False
下面是用法:
var = 1
for case in switch(var):
if case(1):
print 1
break
if case(2):
print 2
break
if case(3):
print 3
break
if case(4):
print 4
break
if case(5):
print 5
break
if case(6):
print 6
break
if case(7):
print 7
break
if case(8):
print 8
break
if case(9):
print 9
break
if case(10):
print 10
break
if case():
print "something else!"