logo

Oświadczenie dotyczące dopasowania języka Python

Programiści znający języki takie jak C/C++ czy Java wiedzą, że istnieje instrukcja warunkowa znana jako a Sprawa przełącznik . Ten Sprawa meczu to Switch Case języka Python, który został wprowadzony w Pyton 3.10. Tutaj musimy najpierw przekazać parametr, a następnie spróbować sprawdzić, w którym przypadku parametr jest spełniony. Jeśli znajdziemy dopasowanie, wykonamy jakiś kod, a jeśli w ogóle nie będzie dopasowania, zostanie wykonana domyślna akcja.

Składnia instrukcji przypadku dopasowania w języku Python

Instrukcja dopasowania przypadku w Pythonie jest inicjowana za pomocą mecz słowo kluczowe, po którym następuje parametr do dopasowania. Następnie różne przypadki są definiowane za pomocą sprawa słowo kluczowe i wzorzec pasujący do parametru. The _ to znak wieloznaczny, który jest uruchamiany, gdy wszystkie przypadki nie odpowiadają wartości parametru.



match parameter: case pattern1: # code for pattern 1 case pattern2: # code for pattern 2 . . case patterN: # code for pattern N case _: # default code block>

Spis treści

jak odznaczyć w gimpie

Zobaczmy teraz kilka przykładów, aby dowiedzieć się, jak działa instrukcja dopasowania przypadku w Pythonie.

Proste oświadczenie dotyczące dopasowania

W prostej instrukcji dopasowania przypadku w języku Python dokładna wartość jest porównywana i dopasowywana do wartości wzorca wielkości liter. Istnieją różne przypadki testowe i odpowiadający im kod, który zostanie wykonany tylko po dopasowaniu przypadku. W przeciwnym razie istnieje przypadek domyślny, który jest wykonywany, gdy wszystkie zdefiniowane przypadki nie są dopasowane.



Przykład: W tym przykładzie poprosimy użytkownika o wprowadzenie wartości od 1 do 3 i wyświetlenie odpowiadającej jej liczby słownie za pomocą prostej instrukcji dopasowania.

Pyton
# simple match case statement def runMatch(): num = int(input('Enter a number between 1 and 3: ')) # match case match num: # pattern 1 case 1: print('One') # pattern 2 case 2: print('Two') # pattern 3 case 3: print('Three') # default pattern case _: print('Number not between 1 and 3') runMatch()>

Wyjście:

Enter a number between 1 and 3: 5 Number not between 1 and 3>

Dopasuj instrukcję przypadku do operatora OR

Sprawa meczu instrukcje w Pythonie służą wyłącznie do dopasowywania wzorców i określonych słów kluczowych lub parametrów. Ale możemy również użyć instrukcji dopasowania przypadku w Pythonie, gdy istnieje więcej niż jeden przypadek, który daje ten sam wynik. W tym przypadku możemy użyć operatora potoku, znanego również jako operator OR w instrukcji dopasowania.



Przykład: W tym przykładzie poprosimy użytkownika o wprowadzenie wartości od 1 do 6. Następnie używając dopasowania z operatorem OR, połączyliśmy pary po jednym przypadku, co wyświetli odpowiadającą im liczbę słownie.

Pyton
# python match case with OR operator def runMatch(): num = int(input('Enter a number between 1 and 6: ')) # match case match num: # pattern 1 case 1 | 2: print('One or Two') # pattern 2 case 3 | 4: print('Three or Four') # pattern 3 case 5 | 6: print('Five or Six') # default pattern case _: print('Number not between 1 and 6') runMatch()>

Wyjście:

Enter a number between 1 and 6: 4 Three or Four>

Dopasuj instrukcję przypadku do warunku Python If

Możemy także skorzystać z Warunek Pythona Jeśli wraz z instrukcją dopasowania przypadku, gdy zamiast dopasowywać dokładną wartość, używamy warunku. Na podstawie warunku, jeśli wartość ma wartość True i jest zgodna ze wzorcem wielkości liter, wykonywany jest blok kodu.

Przykład: W tym przykładzie użyjemy warunku if wraz z instrukcją dopasowania przypadku, aby sprawdzić, czy liczba wprowadzona do identyfikatora użytkownika jest dodatnia, ujemna czy zerowa.

Pyton
# python match case with if condition def runMatch(): num = int(input('Enter a number: ')) # match case match num: # pattern 1 case num if num>0: print('Dodatnie') # wzór 2 przypadek nr jeśli nr< 0: print('Negative') # default pattern case _: print('Zero') runMatch()>

Wyjście:

Enter a number: -15 Negative>

Dopasuj przypadek do wzorca sekwencji

Instrukcje dopasowania wielkości liter w języku Python są powszechnie używane do dopasowywania wzorców sekwencji, takich jak listy i ciągi znaków. Jest to całkiem proste i pozwala na użycie argumentów pozycyjnych do sprawdzania wzorców.

Przykład: W tym przykładzie używamy ciągu Pythona, aby sprawdzić, czy znak jest obecny w pliku strunowy lub nieużywanie zapałek. Do dopasowania podajemy ciąg znaków wraz z indeksem znaku, który chcemy sprawdzić w ciągu znaków. Następnie zdefiniowaliśmy przypadki dopasowania pod kątem tego, jaki może być ten znak.

Pyton
# match case to check a character in a string def runMatch(): myStr = 'Hello World' # match case match (myStr[6]): case 'w': print('Case 1 matches') case 'W': print('Case 2 matches') case _: print('Character not in the string') runMatch()>

Wyjście:

Case 2 matches>

Przykład: W tym przykładzie używamy a lista Pythona do dopasowania wzoru. Dopasowujemy pierwszy element utraconego elementu, a także używamy argumentów pozycyjnych, aby dopasować resztę listy.

Pyton
# python match case with list def runMatch(mystr): # match case match mystr: # pattern 1 case ['a']: print('a') # pattern 2 case ['a', *b]: print(f'a and {b}') # pattern 3 case [*a, 'e'] | (*a, 'e'): print(f'{a} and e') # default pattern case _: print('No data') runMatch([]) runMatch(['a']) runMatch(['a', 'b']) runMatch(['b', 'c', 'd', 'e'])>

Wyjście:

No data a a and ['b'] ['b', 'c', 'd'] and e>

Dopasuj opis przypadku do słownika języka Python

Obsługiwane są instrukcje przypadku dopasowania w języku Python słownik również. Może pasować do jednego klucza lub wielu kluczy. Klucze i wartości muszą znajdować się w słowniku. Jeśli istnieje jakakolwiek błędnie umieszczona wartość lub klucz, który nie istnieje i nie pasuje do rzeczywistego słownika i wartości, przypadek ten zostanie odrzucony.

Przykład: W tym przykładzie używamy słownika z instrukcją dopasowania przypadku w Pythonie. Udostępniamy słowniki z różnymi danymi w zależności od przypadku dopasowania i będą one dopasowywać klucze słownika do różnych podanych przypadków.

Pyton
# match case with python dictionaryu def runMatch(dictionary): # match case match dictionary: # pattern 1 case {'name': n, 'age': a}: print(f'Name:{n}, Age:{a}') # pattern 2 case {'name': n, 'salary': s}: print(f'Name:{n}, Salary:{s}') # default pattern case _ : print('Data does not exist') runMatch({'name': 'Jay', 'age': 24}) runMatch({'name': 'Ed', 'salary': 25000}) runMatch({'name': 'Al', 'age': 27}) runMatch({})>

Wyjście:

alfabet na cyfry
Name:Jay, Age:24 Name:Ed, Salary:25000 Name:Al, Age:27 Data does not exist>

Dopasuj instrukcję przypadku do klasy Pythona

Możemy również skorzystać Klasy Pythona dopasowywać przypadki za pomocą instrukcji dopasowania przypadków w języku Python. Dzięki temu kod będzie bardzo czysty, schludny i, co ważniejsze, łatwy do odczytania. Wykorzystuje moduł klas danych Pythona.

Przykład: W tym przykładzie utworzyliśmy dwie klasy o nazwie Osoba i Programista. Pierwszą myślą po zobaczeniu instrukcji dopasowania było to, że Programista i Osoba wewnątrz instrukcji dopasowania utworzyliby instancję odpowiednich klas, ale tak nie jest. Sprawdzi instancję z podanymi wartościami. Zatem przypadek Programmer(Om, język = Python, framework = Django) nie utworzy instancji, ale sprawdzi, czy przekazany obiekt, którego nazwa to instancja, jest prawdziwą instancją klasy Programmer, następnie sprawdzi, czy ma ona nazwę Om , język, którym jest Python, a następnie framework, czyli Django. W ten sposób możemy sprawdzić wartości w instancji dowolnej klasy.

Pyton
# match case with python classes # import dataclass module from dataclasses import dataclass #Class 1 @dataclass class Person: name: str age: int salary: int # class 2 @dataclass class Programmer: name: str language: str framework: str def runMatch(instance): # match case match instance: # pattern 1 case Programmer('Om', language='Python', framework='Django'): print(f'Name: Om, Language:Python, Framework:Django') # pattern 2 case Programmer('Rishabh', 'C++'): print('Name:Rishabh, Language:C++') # pattern 3 case Person('Vishal', age=5, salary=100): print('Name:Vishal') # pattern 4 case Programmer(name, language, framework): print(f'Name:{name}, Language:{language}, Framework:{framework}') # pattern 5 case Person(): print('He is just a person !') # default case case _: print('This person is nothiing!') programmer1 = Programmer('Om', 'Python', 'Django') programmer2 = Programmer('Rishabh', 'C++', None) programmer3 = Programmer('Sankalp', 'Javascript', 'React') person1 = Person('Vishal', 5, 100) runMatch(programmer1) runMatch(programmer2) runMatch(person1) runMatch(programmer3)>

Wyjście:

Name: Om, Language:Python, Framework:Django Name:Rishabh, Language:C++ Name:Vishal Name:Sankalp, Language:Javascript, Framework:React>

Często zadawane pytania dotyczące opisu przypadku dotyczącego dopasowania języka Python

P: Jaka jest instrukcja dopasowania przypadku w Pythonie?

O: Instrukcja dopasowania wielkości liter, znana również jako dopasowywanie wzorców, to funkcja wprowadzona w Pythonie 3.10. Zapewnia zwięzły i wyrazisty sposób dopasowywania wzorców w strukturach danych, takich jak krotki, listy i klasy. Umożliwia dopasowanie wartości wyrażenia do szeregu wzorców i wykonanie odpowiedniego bloku kodu dla dopasowanego wzorca.

P: Czym różni się instrukcja przypadku dopasowania od instrukcji if-elif-else?

Odpowiedź: Instrukcja dopasowania przypadku jest konstrukcją o większej mocy i wyrazistości w porównaniu do instrukcji if-elif-else. Podczas gdy instrukcje if-elif-else opierają się na wyrażeniach boolowskich, instrukcje typu match-case mogą dopasowywać wzorce na podstawie struktury i wartości danych. Instrukcje typu „match case” zapewniają bardziej uporządkowany i czytelny sposób obsługi wielu warunków i wykonywania różnych działań w oparciu o te warunki.

P: Jakie są korzyści ze stosowania instrukcji dopasowania?

Odp.: Oświadczenie dotyczące przypadku dopasowania oferuje kilka korzyści, w tym:

  • Zwięzłość: Instrukcje oparte na dopasowaniach pozwalają wyrazić złożoną logikę rozgałęzień w zwięzły i czytelny sposób.
  • Czytelność: Dopasowywanie wzorców sprawia, że ​​kod jest bardziej czytelny i zrozumiały, ponieważ bardzo przypomina dziedzinę problemu.
  • Bezpieczeństwo: Instrukcje dotyczące przypadków dopasowania zapewniają wyczerpujące dopasowanie wzorca, zapewniając, że zostaną uwzględnione wszystkie możliwe przypadki.