Inhaltsverzeichnis
Grammatik
Heim Backend-Entwicklung Python-Tutorial Verwendung von „match...case' in Python 3.10

Verwendung von „match...case' in Python 3.10

Apr 12, 2023 am 09:25 AM
python 语法 代码

Verwendung von „match...case' in Python 3.10

Die Syntax „match...case“ ähnelt der switch-Anweisung in anderen objektorientierten Sprachen und soll die Zuordnung von Strukturen zu Fällen erleichtern.

Lass uns anfangen.

Grammatik

Die „match...case“-Syntax lautet wie folgt:

def greeting(message):
match message.split():
case ["hello"]:
print("this message says hello")
case ["hello", name]:
print("This message is a personal greeting to {name}")
case _:
print("The message didn’t match with anything")
Nach dem Login kopieren
#🎜🎜 #Werfen wir einen Blick auf die Syntax, um zu sehen, wie sie funktioniert.

Die von uns erstellte Funktion akzeptiert einen Parameter namens message. Das Schlüsselwort match akzeptiert ein Objekt zum Vergleich der aufgelisteten Fälle.

In unserem Beispiel erhält das Schlüsselwort match eine Liste von Zeichenfolgen, die das Ergebnis der Operation message.split() ist. Nehmen wir zur weiteren Veranschaulichung an, wir rufen die Funktion wie folgt auf:

greeting("hello")
Nach dem Login kopieren

Die Funktion teilt diese Zeichenfolge zunächst in alle Leerzeichen auf und erstellt eine Liste. Für die obige Eingabe verwendet der Match-Operator die Liste [„hello“]. Anschließend vergleicht es die Liste mit jedem Fall. Unser erster Fall ist:

case ["hello"]
Nach dem Login kopieren

Unsere Eingabe stimmt genau damit überein, sodass der Code in diesem Fall die Ausführung fortsetzt.

Ausgabe:

this message says hello
Nach dem Login kopieren

Was passiert, wenn wir die Funktion so aufrufen: Greeting("Hallo George")?

Mit dieser Eingabe verwendet der Matching-Operator die Liste [„Hallo“, „George“], um alle Fälle zu vergleichen. Der erste Fall, case „hello“, stimmt nicht überein, da die Vergleichsliste zwei Elemente enthält und nicht nur eines.

Strukturübereinstimmung

Der Übereinstimmungsoperator stimmt mit der Struktur des gegebenen Ausdrucks überein, sodass unser erster Fall aufgrund der Länge des Fallausdrucks trotz des Vergleichs nicht übereinstimmt Ausdruck entspricht dem ersten Element in der Liste.

Der zweite Fall ist [„Hallo“, Name]. Das passiert, wenn unsere Eingaben übereinstimmen. Wenn Sie Python keinen passenden Literalwert zur Verfügung stellen, bindet es jeden Wert im Vergleichsausdruck an den Variablennamen im case-Ausdruck. In unserem Beispiel wird der Name also auf „George“ gesetzt. und dieser Fall stimmt überein (es hat „hello“ als erstes Element und es gibt auch ein Element, das an name gebunden ist), also ist die Ausgabe:

This message is a personal greeting to George
Nach dem Login kopieren

Jetzt versuchen wir so etwas wie das Aufrufen von Funktion: Begrüßung („Hallo George Johnson“).

Der Vergleichsausdruck wird zu [„Hallo“, „George“, „Johnson“]. Schauen wir uns nun jeden einzelnen Fall an. Der erste Fall schlägt fehl, weil der Vergleichsausdruck drei Elemente enthält und nicht 1. Der zweite Fall schlägt auf die gleiche Weise fehl; im zweiten Fall wird eine Liste der Länge 2 erwartet, bei der das erste Element „Hallo“ ist. Das erste Element ist eigentlich „Hallo“, aber der Vergleichsausdruck hat 3 Elemente, sodass dieser Fall nicht übereinstimmt.

Die einzige verbleibende Option ist die Groß-/Kleinschreibung mit Unterstrich. Dies ist die Standardschreibweise, die alles übereinstimmt. Stellen Sie sich das wie den Standardfall in einer Switch-Anweisung vor. Wenn der Vergleichsausdruck mit nichts anderem übereinstimmt, stimmt er immer mit der Schreibweise _ überein.

Unterstrich als letzter Fall. In diesem Fall wird kein Fall ausgeführt, da alle Fälle mit dem unterstrichenen Fall übereinstimmen. Dies ähnelt dem Schlüsselwort else in if...else. _ case stimmt mit allem überein, da Python _ als gültigen Variablennamen erkennt. Wenn wir also zum Beispiel die Groß-/Kleinschreibung [„Hallo“, Name] vergleichen, wird der Vergleichsausdruck an „_Name“ gebunden. In unserem speziellen Fall enthält die Variable _ die Werte [„Hallo“, „George“, „Johnson“].

In unserer neuesten Begrüßung für Funktionsaufrufe („Hallo George Johnson“) lautet die Ausgabe also:

The message didn’t match with anything
Nach dem Login kopieren

Erweiterte Verwendung

“match . Die „..case“-Syntax ist ein sehr leistungsfähiges Werkzeug zum Vergleich vieler verschiedener Ausdrücke und Werte. Wenn Sie Listen vergleichen, wie wir es im obigen Beispiel getan haben, stehen weitere Matching-Funktionen zur Verfügung.

In einem Case-Ausdruck können Sie Operatoren verwenden, um alle verbleibenden Elemente in Variablen zu packen. Zum Beispiel:

comparison_list = ["one", "two", "three"]
match comparison_list:
case [first]:
print("this is the first element: {first}")
case [first, *rest]:
print("This is the first: {first}, and this is the rest: {rest}")
case _:
print("Nothing was matched")
Nach dem Login kopieren

In diesem Codeausschnitt wird der zweite Fall abgeglichen und ausgeführt, und die Ausgabe lautet:

This is the first: one, and this is the rest: ["two", "three"]
Nach dem Login kopieren

Es ist auch möglich, Fälle aus zwei Fällen zu kombinieren oder mehr Strukturen verzweigen, wie unten gezeigt:

match comparisonList:
 case [first] | [first, "two", "seven"]:
 print("this is the first element: {first}")
 case [title, "hello"] | ["hello", title]:
 print("Welcome esteemed guest {title}")
 case [first, *rest]:
 print("This is the first: {first}, and this is the rest: {rest}")
 case _:
 print("Nothing was matched")
Nach dem Login kopieren

Der erste und der zweite Fall bestehen aus mehreren unterschiedlichen Ausdrücken, an die Vergleichsausdrücke angepasst werden können, um den Fallzweig auszuführen. Dies bietet eine gewisse Flexibilität beim Kombinieren von Zweigen.

Wir werden auch die Syntax „match...case“ für Wörterbücher vorstellen. Der Vergleichsoperator prüft, ob der Vergleichsausdruck die Attribute im Fallausdruck enthält. Zum Beispiel:

comparisonDictionary = {
 "John": "boy",
 "Jack": "boy",
 "Jill": "girl",
 "Taylor": "girl"
}
match comparisonDictionary:
 case {"John": "boy", "Taylor": "boy"}:
 print("John and Taylor are both boys")
 case {"John": "boy", "Taylor": "girl"}:
 print("Taylor is a girl and John is a boy")
 case _:
 print("Nothing matches")
Nach dem Login kopieren

Ausgabe:

Taylor is a girl and John is a boy
Nach dem Login kopieren
Der Match-Operator prüft, ob das Case-Attribut im Eingabewörterbuch vorhanden ist und prüft dann, ob die Werte übereinstimmen.

Zusammenfassend ist der neue „match...case“-Operator ein leistungsstarkes Tool, das Python-Entwickler beim Erstellen von Verzweigungsfällen nutzen können. Damit können Sie die Struktur jeder eingehenden Variablen zuverlässig überprüfen und sicherstellen, dass Sie nicht versuchen, auf etwas zuzugreifen, das in der Variablen nicht vorhanden ist.

Wichtig Beim Wörterbuchabgleich stimmt die Groß-/Kleinschreibung auch dann überein, wenn das Eingabewörterbuch mehr Attribute aufweist, als die Groß-/Kleinschreibung angibt.

Zusammenfassend ist der neue „match...case“-Operator ein leistungsstarkes Tool, das Python-Entwickler beim Erstellen von Verzweigungsfällen nutzen können. Damit ist es möglich, die Struktur jeder eingehenden Variablen zuverlässig zu überprüfen und sicherzustellen, dass keine Versuche unternommen werden, auf etwas zuzugreifen, das auf der Variablen nicht vorhanden ist.

Das obige ist der detaillierte Inhalt vonVerwendung von „match...case' in Python 3.10. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP und Python: Verschiedene Paradigmen erklärt PHP und Python: Verschiedene Paradigmen erklärt Apr 18, 2025 am 12:26 AM

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

Wählen Sie zwischen PHP und Python: Ein Leitfaden Wählen Sie zwischen PHP und Python: Ein Leitfaden Apr 18, 2025 am 12:24 AM

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.

Kann Visual Studio -Code in Python verwendet werden Kann Visual Studio -Code in Python verwendet werden Apr 15, 2025 pm 08:18 PM

VS -Code kann zum Schreiben von Python verwendet werden und bietet viele Funktionen, die es zu einem idealen Werkzeug für die Entwicklung von Python -Anwendungen machen. Sie ermöglichen es Benutzern: Installation von Python -Erweiterungen, um Funktionen wie Code -Abschluss, Syntax -Hervorhebung und Debugging zu erhalten. Verwenden Sie den Debugger, um Code Schritt für Schritt zu verfolgen, Fehler zu finden und zu beheben. Integrieren Sie Git für die Versionskontrolle. Verwenden Sie Tools für die Codeformatierung, um die Codekonsistenz aufrechtzuerhalten. Verwenden Sie das Lining -Tool, um potenzielle Probleme im Voraus zu erkennen.

Kann gegen Code in Windows 8 ausgeführt werden Kann gegen Code in Windows 8 ausgeführt werden Apr 15, 2025 pm 07:24 PM

VS -Code kann unter Windows 8 ausgeführt werden, aber die Erfahrung ist möglicherweise nicht großartig. Stellen Sie zunächst sicher, dass das System auf den neuesten Patch aktualisiert wurde, und laden Sie dann das VS -Code -Installationspaket herunter, das der Systemarchitektur entspricht und sie wie aufgefordert installiert. Beachten Sie nach der Installation, dass einige Erweiterungen möglicherweise mit Windows 8 nicht kompatibel sind und nach alternativen Erweiterungen suchen oder neuere Windows -Systeme in einer virtuellen Maschine verwenden müssen. Installieren Sie die erforderlichen Erweiterungen, um zu überprüfen, ob sie ordnungsgemäß funktionieren. Obwohl VS -Code unter Windows 8 möglich ist, wird empfohlen, auf ein neueres Windows -System zu upgraden, um eine bessere Entwicklungserfahrung und Sicherheit zu erzielen.

Ist die VSCODE -Erweiterung bösartig? Ist die VSCODE -Erweiterung bösartig? Apr 15, 2025 pm 07:57 PM

VS -Code -Erweiterungen stellen böswillige Risiken dar, wie das Verstecken von böswilligem Code, das Ausbeutetieren von Schwachstellen und das Masturbieren als legitime Erweiterungen. Zu den Methoden zur Identifizierung böswilliger Erweiterungen gehören: Überprüfung von Verlegern, Lesen von Kommentaren, Überprüfung von Code und Installation mit Vorsicht. Zu den Sicherheitsmaßnahmen gehören auch: Sicherheitsbewusstsein, gute Gewohnheiten, regelmäßige Updates und Antivirensoftware.

Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Apr 16, 2025 am 12:12 AM

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

PHP und Python: Ein tiefes Eintauchen in ihre Geschichte PHP und Python: Ein tiefes Eintauchen in ihre Geschichte Apr 18, 2025 am 12:25 AM

PHP entstand 1994 und wurde von Rasmuslerdorf entwickelt. Es wurde ursprünglich verwendet, um Website-Besucher zu verfolgen und sich nach und nach zu einer serverseitigen Skriptsprache entwickelt und in der Webentwicklung häufig verwendet. Python wurde Ende der 1980er Jahre von Guidovan Rossum entwickelt und erstmals 1991 veröffentlicht. Es betont die Lesbarkeit und Einfachheit der Code und ist für wissenschaftliche Computer, Datenanalysen und andere Bereiche geeignet.

So führen Sie Programme in der terminalen VSCODE aus So führen Sie Programme in der terminalen VSCODE aus Apr 15, 2025 pm 06:42 PM

Im VS -Code können Sie das Programm im Terminal in den folgenden Schritten ausführen: Erstellen Sie den Code und öffnen Sie das integrierte Terminal, um sicherzustellen, dass das Codeverzeichnis mit dem Terminal Working -Verzeichnis übereinstimmt. Wählen Sie den Befehl aus, den Befehl ausführen, gemäß der Programmiersprache (z. B. Pythons Python your_file_name.py), um zu überprüfen, ob er erfolgreich ausgeführt wird, und Fehler auflösen. Verwenden Sie den Debugger, um die Debugging -Effizienz zu verbessern.

See all articles