OK, quindi il mio titolo è stato risucchiato. Un esempio funziona meglio:Equivalente "Pythonic" per la gestione dell'interruttore e più stringhe a confronto
input = 'check yahoo.com'
voglio analizzare in ingresso, utilizzando la prima parola come il "comando", e il resto della stringa come parametro. Ecco la versione semplice di come la mia mente non è Pythonic codificarlo:
if len(input) > 0:
a = input.split(' ')
if a[0] == 'check':
if len(a) > 1:
do_check(a[1])
elif a[0] == 'search':
if len(a) > 1:
do_search(a[1])
mi piace Python perché rende le cose complicate normalmente in cose piuttosto semplici. Non ne ho molta esperienza, e sono abbastanza sicuro che c'è un modo molto migliore per fare queste cose ... in qualche modo più pitoni. Ho visto alcuni esempi di persone che sostituiscono le istruzioni di commutazione con dicts e funzioni lambda, mentre altre persone hanno semplicemente consigliato se ... nidificare.
una precedente interrogazione python-interruttore: http://stackoverflow.com/questions/60208/replacements-for-switch-statement-in-python – monkut
Per interesse anche tu potresti voler controllare un vecchio (è stato rifiutato) Python Enhancement Proposal (PEP) che è stato messo insieme per includere un'istruzione switch in Python: http://www.python.org/dev/peps/pep-3103/ –