Leser wie Sie helfen, MUO zu unterstützen. Wenn Sie über Links auf unserer Website einen Kauf tätigen, erhalten wir möglicherweise eine Affiliate-Provision. Weiterlesen.

Das Schreiben von funktionierendem Code reicht nicht immer aus; Sie sollten versuchen, gut strukturierten Code zu schreiben, der auch leicht verständlich ist. Sauberer Code erleichtert Ihnen – und anderen – die Wartung Ihrer Software.

Python hat viele Merkmale und Funktionen, die Ihnen helfen können, saubereren Code zu schreiben. Hier sind einige der besten.

1. Automatisieren Sie das Schließen von Ressourcen mit dem Kontext-Manager

Das manuelle Schließen von Ressourcen kann unpraktisch sein, wenn Ihr Code mit vielen Ressourcen interagiert. Möglicherweise vergessen Sie, eine Ressource zu schließen. Dies führt dazu, dass Ihr Programm Systemressourcen ineffizient nutzt, was zu a führen kann Speicherleck.

Dieser Code öffnet eine Datei und schließt sie dann manuell:

Datei = öffnen ('test.txt', 'R')
file_contents = file.read()
file.close()
Wörter = file_contents.split (' ')
word_count = len (Wörter)
drucken (word_count)
instagram viewer

Sie können das Schließen der Datei mit einem Kontextmanager automatisieren. Kontextmanager verwalten Ressourcen für Sie, sodass Sie nicht daran denken müssen, sie manuell zu verwalten. Verwenden Sie die mit Anweisung zum Erstellen eines Kontexts zum Verwalten einer Ressource:

mit offen('test.txt', 'R') als Datei:
file_contents = file.read()
Wörter = file_contents.split (' ')
word_count = len (Wörter)
drucken (word_count)

Der Code in diesem Block wird im Kontext des Dateiobjekts that ausgeführt offen kehrt zurück. Python schließt diese Datei automatisch, wenn der Code diesen Kontext verlässt, selbst wenn eine Ausnahme auftritt.

2. Sauberere bedingte Anweisungen schreiben

Möglicherweise schreiben Sie viel unnötigen Code, wenn Sie sich damit befassen if-else-Anweisungen. Python verfügt über ternäre Operatoren, mit denen Sie kompaktere Anweisungen schreiben können. Der folgende Codeblock zeigt eine normale if-else-Anweisung.

Zustand = WAHR

Wenn Zustand:
x= 1
anders:
x= 0

drucken (x)

Sie können diesen Code mit einem ternären Operator umschreiben, mit dem Sie die Bedingung in einer einzigen Codezeile schreiben können.

Zustand = WAHR
x= 1Wenn Zustand anders0
drucken (x)

Es ist wichtig zu beachten, dass Sie bei der Implementierung einfacher Logik ternäre Operatoren verwenden sollten. In komplexerer Logik und verschachtelten bedingten Anweisungen kann der ternäre Operator schwer verständlich werden.

3. Verfolgen von Elementen mit der Enumerate-Funktion

Beim Durchlaufen einer Python-Liste können Sie auf zwei Arten auf den Index des aktuellen Elements zugreifen. Eine Möglichkeit ist die Verwendung der traditionellen for-Schleife. Das funktioniert gut, aber der Code ist nicht so sauber, wie er sein könnte. Außerdem müssen Sie den Index manuell initialisieren.

Autos = ['Bugatti', 'Mercedes', 'Toyota']
Index = 0

für Auto In Autos:
Druck (Index, Auto)
index += 1

Die andere Möglichkeit ist die Verwendung der in Python integrierten Aufzählungsfunktion. Dadurch können Sie während der Schleife auf den Index und den entsprechenden Wert in der Liste zugreifen.

Autos = ['Bugatti', 'Mercedes', 'Toyota']

für Index, Auto In aufzählen (Autos):
Druck (Index, Auto)

Sie müssen den Index jetzt nicht mehr manuell verfolgen.

4. Schleifen über mehrere Listen mit der Zip-Funktion

Sie können die Aufzählungsfunktion auch verwenden, um mehrere Listen gleichzeitig zu durchlaufen. Rufen Sie den Index der ersten Liste ab und verwenden Sie ihn dann, um auf die entsprechenden Werte in anderen Listen zuzugreifen.

english_names = ['Essen', 'Wasser', 'Auto']
spanische_namen = ['alimento', 'Agua', 'Auto']

für Index, Name In aufzählen (english_names):
spanisch = spanische_namen [index]
drucken (F' {Name} auf spanisch ist {Spanisch}')

Das funktioniert gut, aber Sie müssen viel unnötigen Code schreiben, wenn die Anzahl der Listen zunimmt. Um saubereren Code zu schreiben, können Sie die Zip-Funktion verwenden und die Namen Ihrer Liste daran übergeben.

english_names = ['Essen', 'Wasser', 'Auto']
spanische_namen = ['alimento', 'Agua', 'Auto']

für Englisch Spanisch In zip (englische_namen, spanische_namen):
drucken(F' {Englisch} auf spanisch ist {Spanisch}')

Sie sollten weiterhin die Enumerate-Funktion verwenden Schleife über eine einzelne Liste. Wenn Sie jedoch mehrere Listen zusammen durchlaufen, sollten Sie die Verwendung der Zip-Funktion in Betracht ziehen.

Bei der Eingabe sensibler Informationen sollte die Eingabe nicht als Klartext auf dem Bildschirm sichtbar sein. Die übliche Art, Eingaben in Python entgegenzunehmen, ist die Verwendung der Eingabefunktion:

Benutzername = Eingabe ('Nutzername: ')
Passwort = Eingabe ('Passwort: ')
drucken('Einloggen...')

Die Eingabefunktion macht das Passwort jedoch während der Eingabe als Klartext auf dem Bildschirm sichtbar. Um sicherzustellen, dass das Passwort nicht auf dem Bildschirm angezeigt wird, sollten Sie stattdessen die getpass-Funktion verwenden:

aus pass importieren pass
Benutzername = Eingabe ('Nutzername: ')
Passwort = getpass ('Passwort:')
drucken('Einloggen...')

Das getpass-Modul ist Teil der Standardbibliothek von Python, sodass Sie es nicht installieren müssen.

6. Große Zahlen mit Unterstrich-Platzhaltern lesbar machen

Wenn Sie in Ihrem Programm mit großen Zahlen arbeiten, können diese auf einen Blick sehr schwer zu lesen sein. Das Zuweisen falscher Nummern zu Variablen führt zu einem fehlerhaften Programm, und das Erkennen dieses Fehlers kann sehr schwierig sein.

num1 = 10000000000
num2 = 100000000
Gesamt = Zahl1 + Zahl2
drucken (gesamt)

Sie können den obigen Code umschreiben, indem Sie Unterstriche verwenden, um Gruppen von Tausendern zu trennen, eine gängige Methode, um große Zahlen besser lesbar zu machen.

num1 = 10_000_000_000
num2 = 100_000_000
Gesamt = Zahl1 + Zahl2
drucken(F'{gesamt:,}')

Der f-String in der print-Funktion trennt die Ausgabe mit dem Tausendertrennzeichen.

7. Verwenden der Hilfefunktion, um mehr über ein Modul zu erfahren

Die Hilfefunktion ist in Python sehr wichtig. Sie erfahren, wie Sie ein installiertes Modul verwenden. Um es zu verwenden, installieren Sie das Modul, starten Sie dann den Python-Interpreter in einem Terminal und zeigen Sie auf den Pfad, in dem Sie das Modul installiert haben. Importieren Sie das Modul und übergeben Sie schließlich den Namen des Moduls an die Hilfefunktion.

Um herauszufinden, welche Methoden und Attribute Sie verwenden können, ersetzen Sie die help-Funktion durch die dir-Funktion.

Die Funktion dir gibt die Methoden und Attribute zurück, die das Modul unterstützt, nicht die gesamte Dokumentation. Dies ist nützlich, wenn Sie einen Eindruck davon bekommen möchten, was das Modul tut.

Saubereren Python-Code schreiben

Python ist eine sehr vielfältige Sprache. Wie bei jeder anderen Sprache werden Sie mit der Zeit besser darin, saubereren Python-Code zu schreiben.

Python hat viele eingebaute Module und Funktionen. In einigen Fällen können Sie schwer lesbaren Code schreiben, weil Ihnen die Existenz einer bestimmten Funktion nicht bekannt ist. Um sicherzustellen, dass Sie besser informiert sind, sollten Sie weitere Artikel darüber lesen, wie man besseren Code schreibt.