Programming Tutorials

switch case statement in Python

By: Mariyan in Python Tutorials on 2012-04-07  

Python does not have a built-in switch case statement like some other programming languages, but there are a few ways to achieve similar functionality. Here are a few options:

  1. Using if-elif statements:

One way to implement a switch case statement in Python is to use a series of if-elif statements. Here's an example:

def switch_case(argument):
    if argument == 'a':
        print("You chose a")
    elif argument == 'b':
        print("You chose b")
    elif argument == 'c':
        print("You chose c")
    else:
        print("Invalid choice")
  1. Using a dictionary:

Another option is to use a dictionary to map the cases to corresponding functions or values. Here's an example:

def case_a():
    print("You chose a")

def case_b():
    print("You chose b")

def case_c():
    print("You chose c")

def default_case():
    print("Invalid choice")

cases = {
    'a': case_a,
    'b': case_b,
    'c': case_c,
    'default': default_case
}

def switch_case(argument):
    cases.get(argument, cases['default'])()

In this example, the cases dictionary maps the cases to corresponding functions. The switch_case function uses the get method of the dictionary to retrieve the appropriate function based on the value of argument, and calls it using parentheses ().

  1. Using the match statement:

Starting from Python 3.10, you can use the match statement to write switch-case-like code. The match statement is a more powerful and flexible version of the switch-case statement. Here's an example:

def switch_case(argument):
    match argument:
        case 'a':
            print("You chose a")
        case 'b':
            print("You chose b")
        case 'c':
            print("You chose c")
        case _:
            print("Invalid choice")

In this example, the match statement matches the value of argument with the cases and executes the corresponding code block. The underscore _ is used as the default case.






Add Comment

* Required information
1000

Comments

No comments yet. Be the first!

Most Viewed Articles (in Python )

Latest Articles (in Python)