Heim  >  Artikel  >  Backend-Entwicklung  >  Frischen Sie Ihr Wissen auf! Ich verwende diese sechs schlechten Angewohnheiten, die meine Python-Programme ständig verlangsamen!

Frischen Sie Ihr Wissen auf! Ich verwende diese sechs schlechten Angewohnheiten, die meine Python-Programme ständig verlangsamen!

WBOY
WBOYnach vorne
2023-04-16 17:40:031392Durchsuche

In diesem Artikel habe ich 6 Beispiele für Python-Schreibmethoden zusammengefasst.

1. Importieren Sie keine Root-Module

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.

Langsameres Beispiel

Frischen Sie Ihr Wissen auf! Ich verwende diese sechs schlechten Angewohnheiten, die meine Python-Programme ständig verlangsamen!

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.

Schnelleres Beispiel

Frischen Sie Ihr Wissen auf! Ich verwende diese sechs schlechten Angewohnheiten, die meine Python-Programme ständig verlangsamen!Frischen Sie Ihr Wissen auf! Ich verwende diese sechs schlechten Angewohnheiten, die meine Python-Programme ständig verlangsamen!

2. Vermeiden Sie die Verwendung von Punkt-/Punkt-Ketten.

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.

Langsameres Beispiel

Frischen Sie Ihr Wissen auf! Ich verwende diese sechs schlechten Angewohnheiten, die meine Python-Programme ständig verlangsamen!Frischen Sie Ihr Wissen auf! Ich verwende diese sechs schlechten Angewohnheiten, die meine Python-Programme ständig verlangsamen!

Schnelleres Beispiel

Frischen Sie Ihr Wissen auf! Ich verwende diese sechs schlechten Angewohnheiten, die meine Python-Programme ständig verlangsamen!Frischen Sie Ihr Wissen auf! Ich verwende diese sechs schlechten Angewohnheiten, die meine Python-Programme ständig verlangsamen!

Wenn Sie nicht glauben, dass dies tatsächlich das Gleiche bewirkt, können wir es überprüfen.

Frischen Sie Ihr Wissen auf! Ich verwende diese sechs schlechten Angewohnheiten, die meine Python-Programme ständig verlangsamen!

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.

3. Verwenden Sie kein +, um Zeichenfolgen zu verketten.

Zeichenfolgen sind in Python unveränderlich. Wenn wir also „+“ verwenden, um mehrere Zeichenfolgen zu einer langen Zeichenfolge zu verketten, wird jede Teilzeichenfolge einzeln bearbeitet.

Langsameres Beispiel

Frischen Sie Ihr Wissen auf! Ich verwende diese sechs schlechten Angewohnheiten, die meine Python-Programme ständig verlangsamen!

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.

Schnelleres Beispiel

Frischen Sie Ihr Wissen auf! Ich verwende diese sechs schlechten Angewohnheiten, die meine Python-Programme ständig verlangsamen!

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.

4. Verwenden Sie keine temporären Variablen für den Werteaustausch.

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.

Langsameres Beispiel

Frischen Sie Ihr Wissen auf! Ich verwende diese sechs schlechten Angewohnheiten, die meine Python-Programme ständig verlangsamen!

Schnelleres Beispiel

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.

Frischen Sie Ihr Wissen auf! Ich verwende diese sechs schlechten Angewohnheiten, die meine Python-Programme ständig verlangsamen!

5. Wenn-Bedingung zum Kurzschließen verwenden

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.

Langsameres Beispiel

Es müssen zwei Bedingungen gleichzeitig erfüllt sein:

  • Name beginnt mit „C“
  • Alter ≥ 30 Daher können wir den folgenden Code schreiben.

Frischen Sie Ihr Wissen auf! Ich verwende diese sechs schlechten Angewohnheiten, die meine Python-Programme ständig verlangsamen!

Schnelleres Beispiel

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.

Frischen Sie Ihr Wissen auf! Ich verwende diese sechs schlechten Angewohnheiten, die meine Python-Programme ständig verlangsamen!

In diesem Fall geht es fast 100 % schneller.

6. Verwenden Sie keine While-Schleife, wenn Sie eine For-Schleife verwenden können. Python verwendet viel C, um die Leistung zu verbessern, also CPython. In Bezug auf Schleifenanweisungen hat eine For-Schleife in Python relativ weniger Schritte, von denen mehr als C-Code ausgeführt werden als eine While-Schleife.

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

Frischen Sie Ihr Wissen auf! Ich verwende diese sechs schlechten Angewohnheiten, die meine Python-Programme ständig verlangsamen! 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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen