In diesem Schritt lernen wir, wie man autopep8
verwendet, ein Tool, das Python-Code automatisch formatiert, um den PEP 8 Style Guide einzuhalten. Während das Verständnis der Regeln wichtig ist, können Tools wie autopep8
erheblich dazu beitragen, einen konsistenten Code-Stil beizubehalten.
Zuerst müssen wir das Paket autopep8
installieren. Öffnen Sie das integrierte Terminal in der WebIDE und führen Sie den folgenden Befehl aus:
sudo pip3 install autopep8
Sie sollten eine Ausgabe sehen, die den Installationsprozess anzeigt, ähnlich wie diese:
Collecting autopep8
...
Installing collected packages: autopep8
Successfully installed autopep8-X.Y.Z
Nun erstellen wir eine Python-Datei mit absichtlich schlechter Formatierung, um zu sehen, wie autopep8
sie beheben kann. Erstellen Sie eine neue Datei namens unformatted_code.py
im Verzeichnis ~/project
.
touch ~/project/unformatted_code.py
Öffnen Sie unformatted_code.py
im Editor der WebIDE und fügen Sie den folgenden Code ein:
a=1
b=2;
print(a )
print( b)
def my_function ( arg1 , arg2 = 0 ):
result = arg1+arg2
return result
Speichern Sie die Datei. Dieser Code hat inkonsistente Abstände, ein Semikolon und eine schlechte Einrückung in der Funktionsdefinition.
Jetzt können wir autopep8
verwenden, um diese Datei zu formatieren. Führen Sie im Terminal den folgenden Befehl aus:
autopep8 --in-place ~/project/unformatted_code.py
Das Flag --in-place
weist autopep8
an, die Datei direkt zu ändern.
Nachdem Sie den Befehl ausgeführt haben, öffnen Sie unformatted_code.py
erneut im Editor der WebIDE. Sie sollten sehen, dass der Code automatisch formatiert wurde, um PEP 8 zu entsprechen:
a = 1
b = 2
print(a)
print(b)
def my_function(arg1, arg2=0):
result = arg1 + arg2
return result
Beachten Sie, wie autopep8
die Abstände um Operatoren korrigiert, das Semikolon entfernt, die Einrückung korrigiert und dort, wo es angebracht ist, Leerzeilen hinzugefügt hat (zwei Leerzeilen vor der Funktionsdefinition).
Sie können autopep8
auch ohne das Flag --in-place
verwenden, um die formatierte Ausgabe im Terminal anzuzeigen, ohne die Originaldatei zu ändern:
autopep8 ~/project/unformatted_code.py
Obwohl autopep8
ein leistungsfähiges Werkzeug für die automatische Formatierung ist, ist es wichtig zu bedenken, dass es hauptsächlich stilistische Probleme behebt. Es kann keine logischen Fehler beheben oder die Gesamtstruktur Ihres Codes verbessern. Es wird am besten als Hilfsmittel verwendet, um Konsistenz zu wahren, nachdem Sie den Code geschrieben haben.
Viele Code-Editoren, einschließlich der WebIDE (VS Code), verfügen über integrierte Unterstützung oder Erweiterungen für Code-Formatierer wie autopep8
. In VS Code können Sie oft mit der rechten Maustaste in den Editor klicken und "Dokument formatieren" auswählen, um den konfigurierten Formatierer anzuwenden. Für diese Übung haben wir uns jedoch auf die Verwendung des Befehlszeilen-Tools konzentriert, um dessen grundlegende Verwendung zu verstehen.