📜  python switch - Python (1)

📅  最后修改于: 2023-12-03 15:04:09.124000             🧑  作者: Mango

Python Switch

在许多编程语言中,我们都可以使用 switch 语句来根据不同的条件执行不同的代码块。然而,在 Python 中并没有内置的 switch 语句,但是我们可以通过多种方式实现类似的效果。

if-elif-else 语句

在 Python 中,我们通常使用 if-elif-else 来代替 switch 语句。例如,如果我们想根据不同的数字执行不同的代码块,我们可以使用以下代码:

num = 3

if num == 1:
    print('One')
elif num == 2:
    print('Two')
elif num == 3:
    print('Three')
else:
    print('Other')

输出结果为:

Three
字典映射

另一种方法是使用字典映射(dictionary mapping)。我们可以将不同的条件作为字典的键,对应的代码块作为字典的值。例如:

def one():
    print('One')

def two():
    print('Two')

def three():
    print('Three')

switch = {
    1: one,
    2: two,
    3: three
}

num = 3

if num in switch:
    switch[num]()
else:
    print('Other')

输出结果为:

Three
使用第三方库

另一种方式是使用第三方库,例如 switchcase。该库提供了类似 switch 语句的功能。为了使用该库,我们需要先通过 pip 安装:

pip install switchcase

然后,我们可以使用以下代码:

from switchcase import switch

num = 3

with switch(num) as s:
    s.case(1, lambda: print('One'))
    s.case(2, lambda: print('Two'))
    s.case(3, lambda: print('Three'))
    s.default(lambda: print('Other'))

输出结果为:

Three

总的来说,在 Python 中实现类似 switch 语句的效果有多种方法。选择哪种方法取决于我们的实际需求和个人喜好。