什么是case / switch语句的Python等价物?

问题:

我想知道,是否有一个Python等效的case语句,例如VB.net或C#上提供的示例?

回答:

虽然official docs很乐意不提供切换,但我已经看到了solution using dictionaries
例如:

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

如果你严重依赖于通过,这开始分崩离析。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: What is the Python equivalent for a case/switch statement?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

− 1 = 1