什么是Python的等价物的情况下,/ switch语句? [重复](What is the P

2019-06-17 11:03发布

这个问题已经在这里有一个答案:

  • 替代在Python switch语句? 48个回答

我想知道,是否有一个Python等同于case语句如VB.net或C#提供的例子吗?

Answer 1:

虽然官方的文档是喜,不以提供开关,我已经看到了使用字典的解决方案 。

例如:

# 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]()

这开始土崩瓦解,如果你通过严重依赖于秋季。



Answer 2:

直接更换if / elif / else

然而,在许多情况下有更好的方法来做到这一点在Python。 请参阅“ 在Python中switch语句替换? ”。



文章来源: What is the Python equivalent for a case/switch statement? [duplicate]