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

Einführung

Die japanische Version von PEP8 befindet sich unter der folgenden URL https://pep8-ja.readthedocs.io/ja/latest/#id4 Obwohl es geschrieben steht, kann ich lange Sätze nicht gut lesen, also habe ich es auf meine eigene Weise zusammengefasst. Ich habe versucht, ein oder zwei Sätze pro Thema zusammenzufassen, aber es ist immer noch lang, deshalb teile ich den Artikel mehrmals auf. Beispielcode ist auch für den Inhalt enthalten, der als schwierig zu erklären eingestuft wurde, indem nur Buchstaben verwendet wurden. Bitte kommentieren Sie, wenn Sie die Bedeutung zusammengefasst und geändert haben.

Code-Layout

Einzug

Fügen Sie für jeden Einzug vier Leerzeichen ein.

Ist es ein Tabulator oder ein Leerzeichen?

Platz ist vorzuziehen. In Python3 wird beim Mischen von Tabulatoren und Leerzeichen im Einzug eine Fehlermeldung angezeigt.

1 Zeilenlänge

Begrenzen Sie die Länge aller Zeilen auf maximal 79 Zeichen.

Soll ich vor oder nach dem Binäroperator brechen?

Solange es vereinheitlicht ist, spielt es keine Rolle, ob die Zeile vor oder nach dem Binäroperator unterbrochen wird. Ausdrücke in Absätzen werden immer nach binären oder relationalen Operatoren unterbrochen, strukturierte Ausdrücke sollten jedoch immer vor binären Operatoren unterbrochen werden.

Gutes Beispiel: Einfach zuzuordnende Operatoren und Operanden
income = (gross_wages
          + taxable_interest
          + (dividends - qualified_dividends)
          - ira_deduction
          - student_loan_interest)
Schlechtes Beispiel: Der Operator ist vom Operanden getrennt
income = (gross_wages +
          taxable_interest +
          (dividends - qualified_dividends) -
          ira_deduction -
          student_loan_interest)

Leerzeile

Lassen Sie zwei Zeilen für jede Funktions- oder Klassendefinition. Die Definition der Funktion in der Klasse wird zeilenweise getrennt.

Codierung der Quelldatei

Sie sollten immer UTF-8 verwenden. import Die import-Anweisung sollte normalerweise zeilengetrennt sein.

Gutes Beispiel
import sys
import os
schlechtes Beispiel
import sys,os

In den folgenden Fällen ist dies jedoch in Ordnung

from subprocess import Popen, PIPE

Name der Variablen mit doppeltem Unterstrich auf Modulebene

__all__,__author__,__version__

Doppelte Unterstrichvariablen auf Modulebene, wie sie vor der import-Anweisung geschrieben wurden

In der Zeichenfolge enthaltene Anführungszeichen

Die in einfache Anführungszeichen eingeschlossene Zeichenfolge und die in doppelte Anführungszeichen eingeschlossene Zeichenfolge sind identisch. Es spielt keine Rolle, welches Sie verwenden, solange es einheitlich ist.

Leerzeichen in Ausdrücken und Sätzen

Leerzeichen sind in den folgenden Fällen überflüssig

・ Unmittelbar nach dem Beginn und Ende von Klammern, Klammern und Wellpappenklammern

Gutes Beispiel:
spam(ham[1], {eggs: 2})
schlechtes Beispiel:
spam( ham[ 1 ], { eggs: 2 } )

・ Unmittelbar vor Kommas, Semikolons und Doppelpunkten

Gutes Beispiel:
if x == 4: print x, y; x, y = y, x
schlechtes Beispiel:
if x == 4 : print x , y ; x , y = y , x

- Unmittelbar vor der öffnenden Klammer, die die Argumentliste des Funktionsaufrufs startet

Gutes Beispiel:
spam(1)
schlechtes Beispiel:
spam (1)

・ Unmittelbar vor der öffnenden Klammer des Index oder Slice

Gutes Beispiel:
dct['key'] = lst[index]
schlechtes Beispiel:
dct ['key'] = lst [index]

· Fügen Sie ein oder mehrere Leerzeichen um die Operatoren ein, um die Zuweisungsoperatoren auszurichten

Gutes Beispiel:
x = 1
y = 2
long_variable = 3
schlechtes Beispiel:
x             = 1
y             = 2
long_variable = 3

・ Andere Empfehlungen

Gutes Beispiel:
def complex(real, imag=0.0):
    return magic(r=real, i=imag)
schlechtes Beispiel:
def complex(real, imag = 0.0):
    return magic(r = real, i = imag)
Gutes Beispiel:
def munge(input: AnyStr): ...
def munge() -> AnyStr: ...
schlechtes Beispiel:

def munge(input:AnyStr): ...
def munge()->PosInt: ...
Gutes Beispiel:
def munge(sep: AnyStr = None): ...
schlechtes Beispiel:
def munge(input: AnyStr=None): ...
Gutes Beispiel:
if foo == 'blah':
    do_blah_thing()
do_one()
do_two()
do_three()
schlechtes Beispiel:
if foo == 'blah': do_blah_thing()
do_one(); do_two(); do_three()

Recommended Posts

Fassen wir den Python-Codierungsstandard PEP8 (1) zusammen.
Fassen wir den Python-Codierungsstandard PEP8 (2) zusammen.
Beachten Sie den Python-Codierungsstandard PEP8
Erstellen einer Umgebung zur Einhaltung des Python-Codierungsstandards (PEP8) mit Eclipse + PyDev
[Python] Passen Sie den Standard für die Farbkarte an
Fassen wir den Grad der Kopplung zwischen Modulen mit Python-Code zusammen
[Blender x Python] Lass uns das Material beherrschen !!
Python3-Standardeingabe habe ich versucht zusammenzufassen
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
So überprüfen Sie automatisch, ob der in Google Colaboratory geschriebene Code dem Python-Codierungsstandard "pep8" entspricht.
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
(◎◎) {Lass Python die langweiligen Dinge machen) ......... (Hey? Lass uns Python die Hausaufgaben machen} (゜) (゜)
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
Was können Sie mit den Standardstatistiken der Python-Bibliothek tun?
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