这个问题已经在这里有一个答案:
- 替代在Python switch语句? 48个回答
我想知道,是否有一个Python等同于case语句如VB.net或C#提供的例子吗?
这个问题已经在这里有一个答案:
我想知道,是否有一个Python等同于case语句如VB.net或C#提供的例子吗?
虽然官方的文档是喜,不以提供开关,我已经看到了使用字典的解决方案 。
例如:
# define the function blocks
def zero():
print "You typed zero.\n"
def sqr():
print "n is a perfect square\n"
def even():
print "n is an even number\n"
def prime():
print "n is a prime number\n"
# map the inputs to the function blocks
options = {0 : zero,
1 : sqr,
4 : sqr,
9 : sqr,
2 : even,
3 : prime,
5 : prime,
7 : prime,
}
然后等效开关块被调用:
options[num]()
这开始土崩瓦解,如果你通过严重依赖于秋季。
直接更换if
/ elif
/ else
。
然而,在许多情况下有更好的方法来做到这一点在Python。 请参阅“ 在Python中switch语句替换? ”。