Hallo zusammen, ich bin Xianhuan, ein alter Bekannter von euch!
Das Walross ist das größte Säugetier und manche nennen es einen „einheimischen“ Bewohner der nördlichen Hemisphäre. Es hat einen runden Kopf, ein kurzes und breites Maul, eine dicke Nase und die oberen Eckzähne bilden Stoßzähne, die 40 bis 90 cm lang sind und jeweils mehr als 4 kg wiegen. Männliche Walrosse können eine Länge von 4 Metern und ein Gewicht von 2 Tonnen erreichen. Walrosse leben gerne in Gruppen, zu Tausenden zusammengedrängt.
Die Augen von Walrossen sind zusammengekniffen wie bei einem alten Mann, dem es an Vitalität mangelt. Sie lieben es, auszuschlafen und verbringen die meiste Zeit ihres Lebens auf dem Eis. Sie können auch im Wasser schlafen, was wirklich erstaunlich ist.
Als Rollerfarmer von 996 beneide ich sie sehr um ihr Leben und möchte unbedingt so flach schlafen wie sie.
Okay, kommen wir zur Sache, lasst uns weiter rollen! Heute präsentiere ich Ihnen einen Operator, der nach einem Walross benannt ist – den Walross-Operator.
Der Python-Walross-Operator wurde in PEP 572 vorgeschlagen und in Python 3.8 integriert und veröffentlicht.
Der ursprüngliche englische Name des Walross-Operators lautet Assignment Expressions, also Zuweisungsausdrücke. Ein Walross-Ausdruck besteht aus einem : und einem =, nämlich := . Wir nennen es normalerweise Walross-Operator, weil es wie ein um 90° gedrehtes Walross aussieht. Der Autor ist sehr einfallsreich und kann all das verbinden!
Das Syntaxformat des Walross-Operators ist:
(variable_name := expression)
Dies ist ein neuer Zuweisungsoperator, ähnlich unserem gemeinsamen =, einem Variablennamen folgt ein Ausdruck.
Normale Schreibweise:
a = 5 if a > 1: print('do sth!')
Verbesserte Schreibweise:
if a := 5 > 1: print('do sth!')
Normale Schreibweise:
n = 3 while n: print('do sth!') n -= 1
Verbesserte Schreibweise:
n = 3 while (n := n - 1) + 1: print('do sth!')
Der Grund für das Hinzufügen von 1 hier ist weil n vor der Ausführung der Ausgabe um 1 dekrementiert wird.
Normales Schreiben:
fp = open("test.txt", "r") while True: line = fp.readline() if not line: break print(line.strip()) fp.close()
Verbessertes Schreiben:
fp = open("test.txt", "r") while line := fp.readline(): print(line.strip())
Die Verwendung des Walross-Operators in geeigneten Szenarien kann die Programmkomplexität reduzieren, den Code vereinfachen und sogar die Programmleistung verbessern.
Obwohl der Walross-Operator einfach zu verwenden ist, ist er nicht in allen Szenarios anwendbar und weist dennoch seine Einschränkungen auf.
Wir können den =-Operator und den :=-Operator nicht zusammen verwenden. Der Walross-Operator kann nur Teil des Ausdrucks sein:
a = 5 # Valid a := 5 # InValid empty_list = [] # Valid empty_list := [] # InValid
Wenn Sie so schreiben, wird der Editor direkt einen Fehler auslösen.
a += 5 # Valid a :+=5 # Invalid
Zuweisungsausdrücke in Lambda-Funktionen
(lambda: a:= 5) # Invalid lambda: (a := 5) # Valid, but not useful (var := lambda: 5) # Valid
Der Walross-Operator verwendet := Dieses Schlüsselwort wird von den meisten Entwicklern nicht gemocht. Dieses Schlüsselwort ähnelt dem, mit dem wir normalerweise in Kontakt kommen anders, und der Schöpfer hat einen einzigartigen Ansatz.
Das gefällt mir nicht besonders, aber ich respektiere die Regeln des Erstellers. Schließlich haben sie Ihnen so praktische Operatoren gebracht.
Einige Entwickler denken, dass der Name „Walross-Operator“ zu abstrakt ist und die Bedeutung dieses Operators nicht klar ausdrücken kann, wenn sie diesen Namen zum ersten Mal sehen .
Bruder Huan meinte, dass es für den Autor verständlich sei, einen aussagekräftigen Namen zu wählen, da es keine festgelegte Benennungsmethode gibt.
Von nun an haben wir eine weitere konventionelle Waffe in unserem Arsenal. Vergessen Sie nicht, sie beim Kämpfen (bei Einbeziehung anderer) zu verwenden. Dies wird die Leistung des Programms und die Einfachheit des Codes verbessern.
Das obige ist der detaillierte Inhalt vonMeistere den Python-Walross-Operator und schalte neue Programmierkenntnisse frei!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!