Fassen wir den Python-Codierungsstandard PEP8 (2) zusammen.

Zusammenfassung des Python-Codierungsstandards PEP8 (1) Fortsetzung

Kommentar

Kommentar blockieren

Blockkommentare (#) gelten im Allgemeinen für folgenden Code und rücken auf derselben Ebene wie dieser Code ein.

Inline-Kommentar

Lassen Sie zwischen der Anweisung und dem Inline-Kommentar mindestens zwei Leerzeichen. Es sind keine selbsterklärenden Inline-Kommentare erforderlich.

schlechtes Beispiel:
x = x + 1          #Erhöhen Sie x um 1

Dokumentationszeichenfolgen (auch als "Dokumentzeichenfolgen" bezeichnet)

Sie sollten für jedes Modul, jede Funktion, jede Klasse oder Methode eine Dokumentzeichenfolge schreiben.

Namenskonvention

Das wichtigste Prinzip

Verwenden Sie einen Namen, der eher die Verwendung als die Implementierung widerspiegelt

Praktische Benennungsmethode

b (1 unterer Buchstabe)
B (1 Großbuchstabe)
lowercase
lower_case_with_underscores
UPPERCASE
UPPER_CASE_WITH_UNDERSCORES
CapitalizedWords

Namenskonventionen folgen

Vererbungsdesign

Öffentliche und interne Schnittstellen

· Eine dokumentierte Schnittstelle wird als öffentliche Schnittstelle betrachtet, es sei denn, das Dokument deklariert sie ausdrücklich als interne Schnittstelle. · Internen Schnittstellen (Pakete, Module, Klassen, Funktionen, Attribute und andere Namen) wird ein Unterstrich vorangestellt.

Programmierempfehlungen

· Schreiben Sie Code, der andere Python-Implementierungen (PyPy, Jython, IronPython, Cython, Psyco usw.) nicht benachteiligt.)

Gutes Beispiel:
def f(x): return 2*x
schlechtes Beispiel:
f = lambda x: 2*x

· Versuchen Sie, Ausnahmen von Ausnahmen anstelle von BaseExceptions abzuleiten · Python3 verwendet "Raise X from Y", um Ausnahmen explizit auszutauschen, ohne den ursprünglichen Traceback zu verlieren

So was
try:
    import platform_specific_module
except ImportError:
    platform_specific_module = None

-Wenn Sie die abgefangene Ausnahme an einen bestimmten Namen binden möchten, benennen Sie die Ausnahme explizit

So was
try:
    process_data()
except Exception as exc:
    raise DataProcessingFailedError(str(exc))

· Verwenden Sie explizit die neue betriebssystembezogene Fehlerhierarchie, wenn Sie Betriebssystemfehler abfangen -Für alle Versuche / Ausnahmen beschränken Sie den in try enthaltenen Bereich auf den minimal erforderlichen Code.

Gutes Beispiel:
try:
    value = collection[key]
except KeyError:
    return key_not_found(key)
else:
    return handle_value(value)
schlechtes Beispiel:
try:
    #Der Prozess des Einschlusses in try ist zu groß
    return handle_value(collection[key])
except KeyError:
    # handle_value()Fängt auch den von generierten KeyError ab
    return key_not_found(key)

· Verwenden Sie die with-Anweisung, wenn die Ressource nur in einem bestimmten Teil des Codes verwendet wird ・ Schreiben Sie die return-Anweisung konsistent. -Wenn die Funktion eine return-Anweisung enthält, die einen Ausdruck zurückgibt, wird die return-Anweisung, die keinen Wert zurückgibt, explizit als return None geschrieben.

Gutes Beispiel: if foo.startswith('bar'):
schlechtes Beispiel: if foo[:3] == 'bar':

· Verwenden Sie immer isinstance (), um Objekttypen zu vergleichen, anstatt Typen direkt zu vergleichen

Gutes Beispiel: if isinstance(obj, int):
schlechtes Beispiel: if type(obj) is type(1):

-Für Sequenzen verwenden Sie die Tatsache, dass die leere Sequenz False ist.

Gutes Beispiel: if not seq:
       if seq:

schlechtes Beispiel: if len(seq):
       if not len(seq):
Gutes Beispiel:      if greeting:
schlechtes Beispiel:      if greeting == True:
Schlimmeres Beispiel:  if greeting is True:

Funktionsanmerkung

Code, der Funktionsanmerkungen in einem anderen Stil als PEP484 verwenden möchte (https://www.python.org/dev/peps/pep-0484/#suggested-syntax-for-python-2-7-and-straddling-code) Über,

type: ignore

Wird am Anfang der Datei geschrieben. Dies weist das Typprüfungsprogramm an, alle Anmerkungen zu ignorieren.

abschließend

Wenn Sie nur verstehen, dass es so geschrieben ist, denke ich, dass dieser Inhalt ausreichend ist. Wenn Sie mehr wissen möchten (warum Sie es so schreiben sollten), lesen Sie bitte Dokumentation.

Recommended Posts

Fassen wir den Python-Codierungsstandard PEP8 (1) zusammen.
Fassen wir den Python-Codierungsstandard PEP8 (2) zusammen.
Erstellen einer Umgebung zur Einhaltung des Python-Codierungsstandards (PEP8) mit Eclipse + PyDev
[Python] Passen Sie den Standard für die Farbkarte an
[Blender x Python] Lass uns das Material beherrschen !!
Lesen wir die RINEX-Datei mit Python ①
[Python] Fassen Sie die rudimentären Dinge über Multithreading zusammen
Python> Codierungsanleitung> PEP 0008 - Stilanleitung für Python-Code
Python Amateur versucht die Liste zusammenzufassen ①
Ab Python 3.4 wird pip zum Standardinstallationsprogramm! ??
Japanische Übersetzung: PEP 20 - Das Zen von Python
Einführung in Python Bereiten wir die Entwicklungsumgebung vor
Lassen Sie uns das Git-Commit-Protokoll in Python analysieren!
[Python] Lassen Sie uns das Modul regelmäßig nach Zeitplan ausführen
[Python] Standardeingabe
Erste Python ~ Codierung 2 ~
Python Amateur versucht die Liste zusammenzufassen ②
Fassen wir Apache zusammen
Fassen Sie den Python-Import zusammen
In Python sortieren. Lassen Sie uns als nächstes über den Algorithmus nachdenken.
HoloViews werden möglicherweise zum Standard für Python-Visualisierungstools
Lassen Sie Python den von der Standardeingabe eingegebenen JSON analysieren
Lassen Sie uns die Grundlagen des Python-Codes von TensorFlow aufschlüsseln
Verwenden wir die Python-Version des Confluence-API-Moduls.
Verwenden wir die offenen Daten von "Mamebus" in Python
[Python] Erinnern wir uns an den neuen Schreibstil nach pip10
[Python] Lassen Sie uns die URL der Django-Administrator-Site ändern
Ich habe versucht, die String-Operationen von Python zusammenzufassen
Finden Sie das maximale Python
der Zen von Python
[Python] Teilen Sie das Datum
[Python] Informationen zur Standardeingabe
Sehen wir uns die Sprachspezifikationen für Python-Iteratoren und -Generatoren an
So debuggen Sie eine Standard-Python-Bibliothek in Visual Studio
Ändern Sie das Standardausgabeziel in eine Datei in Python
Berühren wir die API der Netatmo Weather Station mit Python. #Python #Netatmo
(Python3) Nein. OO (Verwenden Sie die Standardbibliothek?): 5 Shader
Python> Codierungsregel> PEP8> read_chpoint.py: 20: 1: E302 erwartet 2 Leerzeilen, gefunden 1