Articles

2 proste sposoby implementacji instrukcji Python switch Case

darmowy kurs Pythona z 25 projektami w czasie rzeczywistym Rozpocznij teraz !!

w naszym ostatnim tutorialu Pythona, studiowaliśmy przetwarzanie XML w Pythonie 3. Dzisiaj przyjrzymy się jak zaimplementować Python switch Case Statement.

w przeciwieństwie do innych języków, takich jak język programowania Java i C++, Python nie ma konstrukcji typu switch-case. Wraz z tym, zobaczymy, jak działa luka dla Python switch case statement.

omówmy więc różne sposoby implementacji dla Python switch Case Statement.

2 proste sposoby implementacji instrukcji Python switch Case

2 proste sposoby implementacji instrukcji Python switch Case

co to jest instrukcja Python switch Case?

Python nie ma prostej konstrukcji typu switch-case. Pochodzący z Java lub C++ tle, może okazać się to nieco dziwne.

W C++ lub Javie mamy coś takiego:

string week(int i){ switch(i){ case 0: return "Sunday” break; case 1: return "Monday” break; case 2: return "Tuesday” break; case 3: return "Wednesday” break; case 4: return "Thursday” break; case 5: return "Friday” break; case 6: return "Saturday” break; default: return "Invalid day of week” } }

ale Python tego nie ma.

aby to obejść, używamy wbudowanego słownika Pythona do implementacji przypadków i decydujemy, co zrobić, gdy przypadek zostanie spełniony.

możemy również określić, co zrobić, gdy żaden nie zostanie spełniony.

rozwiązania dla instrukcji Python switch Case

jednym wyjściem byłoby zaimplementowanie drabiny if-elif-else. Zamiast tego możemy użyć słownika do mapowania przypadków do ich funkcjonalności.

tutaj definiujemy funkcję week (), która mówi nam, który dzień jest danym dniem tygodnia. Przełącznik jest słownikiem, który wykonuje to mapowanie.

>>> def week(i): switcher={ 0:'Sunday', 1:'Monday', 2:'Tuesday', 3:'Wednesday', 4:'Thursday', 5:'Friday', 6:'Saturday' } return switcher.get(i,"Invalid day of week")

teraz wykonujemy połączenia do week() z różnymi wartościami.

>>> week(2)

Wyjście

’wtorek’
>>> week(0)

Wyjście

’niedziela’
>>> week(7)

Wyjście

’nieprawidłowy Dzień of week’
>>> week(4.5)

output

’invalid Day of week’

jak widać, dla wartości innych niż te, które wymieniamy w przełączniku, wypisuje „invalid Day of week”. Dzieje się tak dlatego, że mówimy mu, aby to zrobił używając metody get() słownika.

a. Używając funkcji Pythona & Lambda

możemy również używać funkcji i lambda w słowniku.

>>> def zero(): return 'zero'>>> def one(): return 'one'>>> def indirect(i): switcher={ 0:zero, 1:one, 2:lambda:'two' } func=switcher.get(i,lambda :'Invalid') return func()>>> indirect(4)

Wyjście

’Invalid’
>>> indirect(2)

Wyjście

’two’
>>> indirect(1)

Wyjście

’one’
>>> indirect(0.5)

wyjście

’invalid’

B. z klasami Pythona

użycie tej koncepcji z klasami pozwala nam wybrać metodę w czasie wykonywania.

>>> class Switcher(object): def indirect(self,i): method_name='number_'+str(i) method=getattr(self,method_name,lambda :'Invalid') return method() def number_0(self): return 'zero' def number_1(self): return 'one' def number_2(self): return 'two'>>> s=Switcher()>>> s.indirect(2)

Wyjście

’two’
>>> s.indirect(4)

Wyjście

’Invalid’
>>> s.number_1()

Wyjście

’one’

więc chodziło o polecenie Python switch case. Mam nadzieję, że podoba Ci się nasz poradnik.

pytania w Pythonie dotyczące instrukcji switch Case

  1. czy Python ma instrukcję switch case?
  2. jak zaimplementować przypadek przełącznika w Pythonie?
  3. co to jest case w instrukcji switch w Pythonie?
  4. wyjaśnij Python switch case na przykładzie.
  5. ile przypadków możesz mieć w instrukcji switch w Pythonie?

wniosek

stąd wnioskujemy, że Python nie ma wbudowanej konstrukcji typu switch-case, zamiast tego możemy użyć słownika.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *