În acest articol, vom încerca să înțelegem Switch Case în Python (Înlocuire).
Ce este înlocuirea casei Switch în Python?
Spre deosebire de orice alt limbaj de programare pe care l-am folosit anterior, Python nu are o declarație switch sau case. Pentru a ocoli acest fapt, folosim maparea dicționarului.
Metoda 1: Schimbați implementarea Casei în Python folosind Maparea dicționarului
În Python, un dicționar este o colecție neordonată de valori de date care poate fi folosită pentru a stoca valorile datelor. Spre deosebire de alte tipuri de date, care pot include doar o singură valoare per element, dicționarele pot conține și o pereche cheie: valoare.
Valoarea cheie a dicţionar tipul de date funcționează ca cazuri într-o instrucțiune switch atunci când folosim dicționarul pentru a înlocui instrucțiunea Switch case.
Python3
# Function to convert number into string> # Switcher is dictionary data type here> def> numbers_to_strings(argument):> >switcher>=> {> >0>:>'zero'>,> >1>:>'one'>,> >2>:>'two'>,> >}> ># get() method of dictionary data type returns> ># value of passed argument if it is present> ># in dictionary otherwise second argument will> ># be assigned as default value of passed argument> >return> switcher.get(argument,>'nothing'>)> # Driver program> if> __name__>=>=> '__main__'>:> >argument>=>0> >print> (numbers_to_strings(argument))> |
>
>Ieșire
zero>
Metoda 2: Comutați implementarea Casei în Python folosind if-else
The dacă-altfel este o altă metodă de implementare a înlocuirii carcasei comutatorului. Este folosit pentru a determina dacă o anumită instrucțiune sau bloc de instrucțiuni va fi executată sau nu, adică dacă un bloc de instrucțiuni va fi executat dacă o anumită condiție este adevărată sau nu.
Python3
gimp cum să deselectezi
bike>=> 'Yamaha'> if> bike>=>=> 'Hero'>:> >print>(>'bike is Hero'>)> elif> bike>=>=> 'Suzuki'>:> >print>(>'bike is Suzuki'>)> elif> bike>=>=> 'Yamaha'>:> >print>(>'bike is Yamaha'>)> else>:> >print>(>'Please choose correct answer'>)> |
>
>Ieșire
bike is Yamaha>
Metoda 3: Schimbați implementarea Casei în Python folosind Class
În această metodă, folosim o clasă pentru a crea o metodă de comutare în interiorul comutatorului Python clasă în Python .
Python3
class> Python_Switch:> >def> day(>self>, month):> >default>=> 'Incorrect day'> >return> getattr>(>self>,>'case_'> +> str>(month),>lambda>: default)()> >def> case_1(>self>):> >return> 'Jan'> >def> case_2(>self>):> >return> 'Feb'> >def> case_3(>self>):> >return> 'Mar'> my_switch>=> Python_Switch()> print>(my_switch.day(>1>))> print>(my_switch.day(>3>))> |
>
>Ieșire
Jan Mar>
Comutați majuscule în Python
În Python 3.10 și după aceea, Python va sprijini acest lucru prin utilizarea Meci în loc de comutator:
Python3
# This code runs only in python 3.10 or above versions> def> number_to_string(argument):> >match argument:> >case>0>:> >return> 'zero'> >case>1>:> >return> 'one'> >case>2>:> >return> 'two'> >case default:> >return> 'something'> > head>=> number_to_string(>2>)> print>(head)> |
>
>
Este similar cu cel al cazurilor de comutare în C++, Java etc.