So erstellen Sie eine Website oder ein Blog im Jahr 2020 - Kostenlose und einfache Anleitung zum Erstellen einer Website

Die 10 nützlichsten Tipps zur Beschleunigung Ihres Python-Codes

Wenn Sie jemand fragt: „Was ist derzeit die am schnellsten wachsende Programmiersprache der Welt?“ Die Antwort wird einfach sein. Deine Python. Die weltweite Beliebtheit ist auf die einfache Syntax und die umfangreichen Bibliotheken zurückzuführen. Heutzutage können Sie mit Python fast alles machen: Datenwissenschaft, maschinelles Lernen, Signalverarbeitung, Datenvisualisierung und vieles mehr. Viele Leute behaupten jedoch, dass Python bei der Lösung schwerwiegender Probleme etwas langsam sei. Die Ausführungszeit eines Programms hängt jedoch vom geschriebenen Code ab. Mit ein paar Tipps und Tricks können Sie Ihren Python-Code beschleunigen und die Programmleistung verbessern.

Tipps und Tricks zur Beschleunigung des Python-Codes

Wenn Sie nach Möglichkeiten suchen, Ihren Python-Code zu beschleunigen, ist dieser Artikel genau das Richtige für Sie. Veranschaulicht Techniken und Strategien zur Reduzierung der Ausführungszeit eines Programms. Die Tipps beschleunigen nicht nur den Code, sondern verbessern auch die Python-Kenntnisse.

01. Verwenden Sie integrierte Bibliotheken und Funktionen

Python verfügt über unzählige Bibliotheksfunktionen und -module. Sie wurden von erfahrenen Entwicklern geschrieben und mehrfach getestet. Daher sind diese Funktionen sehr effizient und helfen, den Code zu beschleunigen; Es ist nicht erforderlich, den Code zu schreiben, wenn die Funktion bereits in der Bibliothek verfügbar ist. Lassen Sie uns hierzu ein einfaches Beispiel geben.

#code1
newlist = []
for word in oldlist:
    newlist.append(word.upper())
#code2
newlist = map(str.upper, oldlist)

Hier ist der zweite Code schneller als der erste, da die Bibliotheksfunktion „map()“ verwendet wurde. Diese Funktionen sind für Anfänger nützlich. Wer möchte nicht schnelleren, saubereren und kleineren Code schreiben? Nutzen Sie daher so weit wie möglich Bibliotheksfunktionen und -module.

02. Richtige Datenstruktur am richtigen Ort

Die Verwendung der richtigen Datenstruktur verkürzt die Ausführungszeit. Bevor Sie beginnen, sollten Sie über die Datenstruktur nachdenken, die im Code verwendet wird. Eine perfekte Datenstruktur beschleunigt Ihren Python-Code, während andere ihn durcheinander bringen. Sie sollten eine Vorstellung von der zeitlichen Komplexität verschiedener Datenstrukturen haben.

Python verfügt über integrierte Datenstrukturen wie Listen, Tupel, Mengen und Wörterbücher. Die Leute sind es gewohnt, Listen zu verwenden. Es gibt jedoch Fälle, in denen Tupel oder Wörterbücher viel besser funktionieren als Listen. Weitere Informationen zu Datenstrukturen und Algorithmen finden Sie in Python-Lernbüchern.

03. Trund um die Verwendung der for-Schleife zu minimieren

Es ist ziemlich schwierig, die Verwendung einer for-Schleife zu vermeiden. Aber jedes Mal, wenn Sie eine Chance haben, es zu verhindern, sagen Experten, dass Sie es tun sollten. Die For-Schleife ist in Python dynamisch. Die Ausführungszeit beträgt mehr als eine While-Schleife. Die verschachtelte for-Schleife nimmt viel mehr Zeit in Anspruch. Zwei verschachtelte for-Schleifen nehmen das Quadrat der Zeit in einer einzigen for-Schleife ein.

#code1
for i in big_it:
    m = re.search(r'\d{2}-\d{2}-\d{4}', i)
    if m:
        ...
#code2
date_regex = re.compile(r'\d{2}-\d{2}-\d{4}')

for i in big_it:
    m = date_regex.search(i)
    if m:
        ...

In diesem Fall ist es besser, einen geeigneten Ersatz zu verwenden. Wenn for-Schleifen unvermeidbar sind, verschieben Sie die Berechnung außerdem außerhalb der Schleife. Es wird viel Zeit sparen. Wir können es im vorherigen Beispiel sehen. Hier ist der zweite Code schneller als der erste, da die Berechnung außerhalb der Schleife erfolgt ist.

04. Vermeiden Sie globale Variablen

Globale Variablen Sie werden in vielen Fällen in Python verwendet. Zur Deklaration wird das Schlüsselwort global verwendet. Die Ausführungszeit dieser Variablen ist jedoch länger als die der lokalen Variablen. Wenn Sie weniger davon verwenden, wird unnötiger Speicherverbrauch eingespart. Darüber hinaus erfasst Python eine lokale Variable schneller als eine globale. Beim Durchsuchen externer Variablen ist Python sehr langsam.

Mehrere andere Programmiersprachen lehnen den ungeplanten Einsatz globaler Variablen ab. Der Zähler ist auf Nebenwirkungen zurückzuführen, die zu einer längeren Ausführungszeit führen. Versuchen Sie daher nach Möglichkeit, eine lokale Variable anstelle einer globalen zu verwenden. Darüber hinaus können Sie vor der Verwendung in einer Schleife eine lokale Kopie erstellen und so Zeit sparen.

05. Erhöhen Sie den Einsatz von Listenverständnissen

Das Listenverständnis bietet eine kürzere Syntax. Es ist eine Handvoll, wenn Sie eine neue Liste basierend auf einer vorhandenen Liste erstellen. Eine Schleife ist ein Muss in jedem Code. Manchmal wird die Syntax innerhalb der Schleife umfangreich. In diesem Fall kann das Listenverständnis verwendet werden. Wir können das Beispiel nehmen, um es genauer zu verstehen.

#code1
square_numbers = []
  for n in range(0,20):
    if n % 2 == 1:
      square_numbers.append(n**2)
#code2
square_numbers = [n**2 for n in range(1,20) if n%2 == 1]

Dabei benötigt der zweite Code weniger Zeit als der erste Code. Der Ansatz zum Listenverständnis ist kürzer und präziser. Bei kleinen Codes macht es möglicherweise keinen großen Unterschied. Aber bei umfangreicher Entwicklung kann es Ihnen etwas Zeit sparen. Nutzen Sie daher das Listenverständnis, wann immer Sie die Möglichkeit haben, Ihren Python-Code zu beschleunigen.

06. Ersetzen Sie range() durch xrange()

Das Problem mit range() und xrange() tritt auf, wenn Sie Python 2 verwenden. Diese Funktionen werden verwendet, um alles in der for-Schleife zu iterieren. Im Fall von range() werden alle Zahlen im Bereich im Speicher gespeichert. Aber xrange() speichert nur den Zahlenbereich, der angezeigt werden soll.

Der Rückgabetyp von range() ist eine Liste und der von xrange() ein Objekt. Letztendlich benötigt xrange() weniger Speicher und damit weniger Zeit. Verwenden Sie daher wann immer möglich xrange() anstelle von range(). Dies gilt natürlich nur für Python 2-Benutzer.

07. Verwenden Sie Generatoren

In Python ist ein Generator eine Funktion, die einen Iterator zurückgibt, wenn das Schlüsselwort yield aufgerufen wird. Generatoren sind hervorragende Speicheroptimierer. Sie geben einen Artikel nach dem anderen zurück, anstatt alles auf einmal zurückzugeben. Wenn Ihre Liste eine beträchtliche Datenmenge enthält und Sie jeweils nur ein Datenelement verwenden müssen, verwenden Sie Generatoren.

Generatoren berechnen Daten in Teilen. Daher kann die Funktion das Ergebnis auf Anfrage zurückgeben und ihren Zustand beibehalten. Generatoren bewahren den Status der Funktion, indem sie den Code stoppen, nachdem der Aufrufer den Wert generiert hat, und auf Anfrage an der Stelle weitermachen, an der er aufgehört hat.

Da die Generatoren bei Bedarf auf den Wert zugreifen und ihn berechnen, ist es nicht erforderlich, einen wesentlichen Teil der Daten vollständig im Speicher zu speichern. Dies führt zu erheblichen Speichereinsparungen und beschleunigt letztendlich den Code.

08. Strings mit Join verketten

Bei der Arbeit mit Zeichenfolgen kommt es häufig zu einer Verkettung. Im Allgemeinen verketten wir in Python mit „+“. Bei jedem Schritt erstellt die „+“-Operation jedoch eine neue Zeichenfolge und kopiert das alte Material. Dieser Prozess ist ineffizient und zeitaufwändig. Wir müssen hier join() verwenden, um Strings zu verketten, wenn wir unseren Python-Code beschleunigen wollen.

#code1
x = "I" + "am" + "a" + "python" + "geek" 
print(x)
#code2
x = " ".join(["I", "am", "a", "python", "geek"])
print(x)

Wenn wir uns das Beispiel ansehen, gibt der erste Code „Iamapythongeek“ und der zweite Code „I am a python geek“ aus. Die Operation „join()“ ist effizienter und schneller als „+“. Außerdem bleibt der Code sauber. Wer möchte nicht schnelleren und saubereren Code? Versuchen Sie also, join() anstelle von „+“ zu verwenden, um Zeichenfolgen zu verketten.

09. Profilieren Sie Ihren Code

Profiling ist eine klassische Methode zur Codeoptimierung. Es gibt viele Module zum Messen der Statistiken eines Programms. Dadurch wissen wir, wo das Programm zu viel Zeit verbringt und was wir tun können, um es zu optimieren. Um die Optimierung sicherzustellen, führen Sie daher einige Tests durch und verbessern Sie das Programm, um die Wirksamkeit zu verbessern.

Der Timer ist einer der Profiler. Sie können es an einer beliebigen Stelle im Code verwenden und die Ausführungszeit jeder Phase ermitteln. Dann können wir das Programm dort verbessern, wo es zu viel Zeit kostet. Darüber hinaus gibt es ein integriertes Profiler-Modul namens LineProfiler. Es gibt auch einen beschreibenden Bericht über die verbrauchte Zeit. Es gibt mehrere Profiler, die Sie durch das Lesen von Python-Büchern erlernen können.

10. Bleiben Sie auf dem Laufenden: Verwenden Sie die neueste Version von Python

Es gibt Tausende von Entwicklern, die regelmäßig weitere Funktionen zu Python hinzufügen. Die Module und Bibliotheksfunktionen, die wir heute verwenden, werden mit den Entwicklungen von morgen veraltet sein. Python-Entwickler machen die Sprache von Tag zu Tag schneller und zuverlässiger. Jede neue Version hat ihre Leistung gesteigert.

Daher müssen wir die Bibliotheken auf die neueste Version aktualisieren. Python 3.9 ist jetzt die neueste Version. Viele Python-2-Bibliotheken laufen möglicherweise nicht auf Python3. Behalten wir das im Hinterkopf und verwenden wir immer die neueste Version für maximale Leistung.

Zum Schluss Perspektiven

Der Wert von Python-Entwicklern weltweit steigt von Tag zu Tag. Also, worauf wartest Du! Es ist an der Zeit, dass Sie lernen, wie Sie Python-Code beschleunigen können. Die von uns bereitgestellten Tipps und Tricks werden Ihnen sicherlich dabei helfen, effiziente Codes zu schreiben. Wenn Sie ihnen folgen, können wir hoffen, dass Sie Ihren Code verbessern und sich mit fortgeschritteneren Python-Themen befassen können.

Wir haben versucht, alle wichtigen Tipps und Tricks zu zeigen, die Sie benötigen, um Ihren Code zu beschleunigen. Wir hoffen, dass der Artikel die meisten Ihrer Fragen beantwortet hat. Jetzt liegt der Rest bei Ihnen. Allerdings gibt es kein Ende des Wissens und es gibt kein Ende des Lernens. Wenn wir also etwas Wichtiges verpasst haben, lassen Sie es uns bitte wissen. Viel Spaß beim Lernen!