Switch in Latex
Here’s how the switch statement in the provided code can be translated to Python, along with detailed explanations:
Our first example demonstrates basic switch statements using the match statement introduced in Python 3.10.
def main():
    i = 2
    print("Write", i, "as", end=" ")
    match i:
        case 1:
            print("one")
        case 2:
            print("two")
        case 3:
            print("three")
if __name__ == "__main__":
    main()Here’s a more complex example showing how you can use a match statement to handle multiple expressions.
import datetime
def main():
    today = datetime.datetime.now().strftime('%A')
    match today:
        case 'Saturday' | 'Sunday':
            print("It's the weekend")
        case _:
            print("It's a weekday")
if __name__ == "__main__":
    main()A match statement without an expression is a way to express an if-else logic. Here’s an example showing how case expressions can be non-constants.
import datetime
def main():
    t = datetime.datetime.now()
    match t.hour:
        case h if h < 12:
            print("It's before noon")
        case _:
            print("It's after noon")
if __name__ == "__main__":
    main()A type match statement compares types instead of values. You can use this to discover the type of a variable. In this example, the variable i will have the type corresponding to its case.
def what_am_i(i):
    match type(i):
        case bool:
            print("I'm a bool")
        case int:
            print("I'm an int")
        case _:
            print(f"Don't know type {type(i)}")
def main():
    what_am_i(True)
    what_am_i(1)
    what_am_i("hey")
if __name__ == "__main__":
    main()To run the program, save the code in a .py file and use the python3 command.
$ python3 switch_example.py
Write 2 as two
It's a weekday
It's after noon
I'm a bool
I'm an int
Don't know type <class 'str'>Now that we can run and build basic Python programs, let’s learn more about the language.