In diesem Artikel habe ich 6 Beispiele für Python-Schreibmethoden zusammengefasst.
Eine Sache, die wir bei der Verwendung von Python nicht vermeiden können, ist der Import von Modulen, unabhängig davon, ob es sich um integrierte Module oder Module von Drittanbietern handelt. Manchmal benötigen wir möglicherweise nur eine oder wenige Funktionen oder Objekte aus dem Modul. In diesem Fall sollten wir versuchen, nur die Funktionen oder Objekte zu importieren, die wir benötigen, anstatt das Root-Modul zu importieren.
Dies ist ein einfaches Beispiel. Angenommen, wir müssen die Quadratwurzel einiger Zahlen in einem Programm berechnen.
Im schlechten Beispiel haben wir das Mathematikmodul importiert und math.sqrt() verwendet, um auf die Funktion zuzugreifen. Daran ist natürlich nichts auszusetzen, aber wenn wir die Funktion sqrt() importieren könnten, wäre die Leistung besser.
Die Verwendung von Punkten ist sehr intuitiv. Greifen Sie in Python auf Eigenschaften oder Funktionen eines Objekts zu. Meistens kein Problem. Wenn wir jedoch die Verwendung von Punkten oder gar die Verknüpfung von Punkten vermeiden könnten, wäre die Leistung tatsächlich besser.
Das folgende Beispiel zeigt das Anhängen von Zahlen an eine Liste und das anschließende Entfernen dieser Zahlen.
Wenn Sie nicht glauben, dass dies tatsächlich das Gleiche bewirkt, können wir es überprüfen.
Ich kann davon ausgehen, dass viele Python-Entwickler aufspringen und sagen, dass die Technik in diesem Beispiel etwas lächerlich ist. Tatsächlich schreibe ich selbst selten Code wie den oben genannten. Es ist jedoch schön zu wissen, dass wir es auf diese Weise programmieren und sogar schneller machen können.
Wenn wir Millionen Male Anhänge an eine Liste anhängen und Elemente daraus entfernen möchten, sollten wir wahrscheinlich über die Verwendung dieses Tricks nachdenken. Deshalb müssen wir Leistung und Lesbarkeit unseres Codes in Einklang bringen.
Zeichenfolgen sind in Python unveränderlich. Wenn wir also „+“ verwenden, um mehrere Zeichenfolgen zu einer langen Zeichenfolge zu verketten, wird jede Teilzeichenfolge einzeln bearbeitet.
Konkret muss für jeden Teilstring eine Speicheradresse angefordert und diese dann mit dem ursprünglichen String in dieser Speicheradresse verkettet werden, was zu einem Overhead führt.
Wenn wir jedoch die Funktion „join()“ verwenden, kennt die Funktion alle Teilzeichenfolgen im Voraus und die Speicheradresse wird mit einer Länge zugewiesen, die zur endgültigen verbundenen Zeichenfolge passt. Daher entsteht kein Mehraufwand für die Zuweisung von Speicher für jeden Teilstring.
Es wird dringend empfohlen, wann immer möglich die Funktion „join()“ zu verwenden. Manchmal möchten wir jedoch möglicherweise einfach zwei Zeichenfolgen verketten. Oder der Einfachheit halber möchten wir „+“ verwenden. In diesen Fällen führt die Verwendung des „+“-Zeichens zu einer besseren Lesbarkeit und einer geringeren Codelänge.
Viele Algorithmen erfordern den Werteaustausch von zwei Variablen. In den meisten anderen Programmiersprachen erfolgt dies normalerweise durch die Einführung einer temporären Variablen, wie unten gezeigt.
Aber in Python müssen wir die temporäre Variable nicht verwenden. Python verfügt über eine integrierte Syntax zur Implementierung dieses Werteaustauschs, wie unten gezeigt.
Die Auswertung „Kurzschließen“ gibt es in vielen Programmiersprachen, und Python macht dasselbe. Im Wesentlichen bezieht es sich auf das Verhalten bestimmter boolescher Operatoren, bei denen das zweite Argument nur dann ausgeführt oder ausgewertet wird, wenn das erste Argument nicht ausreicht, um den Wert des gesamten Ausdrucks zu bestimmen.
Lassen Sie uns dies an einem Beispiel demonstrieren. Angenommen, wir haben eine Liste wie folgt.
my_dict = [ { 'name': 'Alice', 'age': 28 }, { 'name': 'Bob', 'age': 23 }, { 'name': 'Chris', 'age': 33 }, { 'name': 'Chelsea', 'age': 2 }, { 'name': 'Carol', 'age': 24 } ]
Unsere Aufgabe ist es, die Liste zu filtern und alle Personen zu finden, deren Namen mit „C“ beginnen und deren Alter 30 Jahre oder älter ist.
Es müssen zwei Bedingungen gleichzeitig erfüllt sein:
Am Code im vorherigen Beispiel ist nichts auszusetzen. Allerdings ist in diesem speziellen fiktiven Beispiel nur „Chris“ über 30 Jahre alt.
Wenn wir zuerst die Bedingung für die Namensüberprüfung schreiben, dann sind drei Namen (Chris, Chelsea und Carol) erfüllt. Die zweite Bedingung bezüglich des Alters wird dann noch einmal für alle 3 Personen überprüft.
Wenn wir jedoch aufgrund der Kurzschlussauswertung zuerst die Altersbedingung schreiben, liegt nur das Alter von Chris über 30 und es wird erneut überprüft, ob sein Name mit „C“ beginnt.
In diesem Fall geht es fast 100 % schneller.
Obwohl wir in Python die For-Schleife verwenden können, sollten wir die While-Schleife nicht verwenden. Das liegt nicht nur daran, dass For-Loop in Python eleganter ist, sondern auch eine bessere Leistung erbringt.
Langsameres Beispiel
Schnelleres Beispiel
Das obige ist der detaillierte Inhalt vonFrischen Sie Ihr Wissen auf! Ich verwende diese sechs schlechten Angewohnheiten, die meine Python-Programme ständig verlangsamen!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!