Istruzione switch in Python

Muhammad Waiz Khan 30 gennaio 2023
  1. Implementa l’istruzione switch utilizzando il dizionario
  2. Implementa l’istruzione switch utilizzando le istruzioni if...elif...else o if ... else
Istruzione switch in Python

Questo tutorial mostrerà vari metodi per implementare la funzionalità dell’istruzione switch in Python. In molti linguaggi di programmazione, l’istruzione switch viene utilizzata per controllare il flusso del programma o, in altre parole, quali blocchi di codice eseguire in base al valore della variabile o dell’espressione.

A differenza dei linguaggi di programmazione come C, C++, C# e JAVA, il linguaggio Python non fornisce l’istruzione switch. Ma possiamo usare i seguenti metodi al posto dell’istruzione switch in Python.

Implementa l’istruzione switch utilizzando il dizionario

Il tipo di dati del dizionario in Python viene utilizzato per memorizzare la raccolta di dati come coppie chiave: valore. È un tipo di dati modificabile o modificabile e non consente valori duplicati.

Come nell’istruzione switch, decidiamo quale codice eseguire in base al valore della variabile. Possiamo usare le coppie chiave: valore del dizionario, dove chiave sarà il valore della variabile e valore sarà il nome della funzione. Possiamo eseguire la funzione corrispondente in base al valore della chiave.

Supponiamo di avere una variabile x il cui valore decide l’esecuzione del codice, possiamo salvare la coppia chiave: valore nel dizionario come 0:function1, 1:function2, ecc., Dove 0 e 1 è il valore del dizionario. Per evitare che il codice incappi in un errore, possiamo usare il metodo dict.get(key, default) e passare il valore default per il nome della funzione, se viene fornito un valore sconosciuto di x.

Il codice di esempio seguente mostra come utilizzare il tipo di dati del dizionario per implementare la funzionalità dell’istruzione switch in Python:

def function1():
    print("function 1 was executed")


def function2():
    print("function 2 was executed")


def function3():
    print("function 3 was executed")


switch = {1: function1, 2: function2, 3: function3}

x = 1
switch.get(x, function1)()
x = 2
switch.get(x, function1)()

Produzione:

function 1 was executed
function 2 was executed

Nel caso in cui desideriamo eseguire alcune azioni sul valore di un’altra variabile a in base al valore della variabile x, possiamo farlo come mostrato nel codice di esempio seguente:

switch = {1: lambda a: a + 1, 2: lambda a: a + 2, 3: lambda a: a + 3}

x = 2
a = 10
print(switch[x](a))
x = 1
a = 4
print(switch[x](a))

Produzione:

12
5

Implementa l’istruzione switch utilizzando le istruzioni if...elif...else o if ... else

L’istruzione if...elif...else è usata se abbiamo bisogno di gestire più di due casi, e l’istruzione if ... else è usata per gestire due possibilità o casi.

Possiamo usare if ... else se abbiamo due possibili codici per il valore di x invece dell’istruzione switch. E possiamo usare l’istruzione if...elif...else se abbiamo più di due codici o funzioni da eseguire per i valori multipli di x.

Il codice di esempio seguente mostra come implementare la funzionalità dell’istruzione switch utilizzando l’istruzione if ... else in Python:

def function1():
    print("function 1 was executed")


def function2():
    print("function 2 was executed")


x = 3

if x == 1:
    function1()
else:
    function2()

Produzione:

function 2 was executed

Possiamo implementare l’istruzione switch utilizzando l’istruzione if...elif...else per gestire più casi, come mostrato nel codice di esempio seguente:

def function1():
    print("function 1 was executed")


def function2():
    print("function 2 was executed")


def function3():
    print("function 3 was executed")


x = 2
if x == 1:
    function1()
elif x == 2:
    function2()
elif x == 3:
    function3()

Produzione:

function 2 was executed

Articolo correlato - Python Keyword