Der bekannteste Codierungsstandard für Python ist der Standard-Bibliothekscode-Standard PEP 8, aber [Google Python Style Guide](https: /) /google.github.io/styleguide/). Deshalb habe ich versucht zusammenzufassen, wie sich Google Style von PEP 8 unterscheidet. Aus der Schlussfolgerung war es fast dasselbe wie PEP 8, daher habe ich die allgemeinen Regeln (insbesondere Leerzeilen und Leerzeichen) weggelassen. Obwohl es Unterschiede gibt, kann es einige Punkte geben, die nicht behandelt werden können, aber bitte verzeihen Sie mir.
――Beide japanischen Übersetzungen sind verfügbar, aber möglicherweise nicht die neuesten. Deshalb habe ich mich so weit wie möglich auf die englische Version bezogen. --PEP 8 ist gemeinfrei, Google Style Guide ist CC by 3.0
Artikel | PEP8 | |
---|---|---|
Schreiben Sie mehrere Sätze in eine Zeile | Sollte grundsätzlich aufhören | if foo: bar(foo) Istelse を伴わなければOK。それ以外IstNG。; Nicht auch benutzen. |
Maximale Länge einer Zeile | 79 Zeichen | 80 Zeichen |
Maximale Länge einer Zeilenausnahme | 99 Zeichen sind mit Zustimmung des Teams akzeptabel, 72 Zeichen in der Kommentarzeile sowieso | Ausnahmen beim Importieren von Anweisungen, URLs und Pfadnamen |
Leitungsfortsetzung\ |
Klammern sind vorzuziehen,with Sätze undassert Kann in usw. verwendet werden. |
with Nicht verwenden, es sei denn, die Anweisung enthält 3 oder mehr Zeilen |
Verwendung von Docstring | non-Nicht erforderlich für öffentliche Methoden, schreiben Sie andere | non-Schreiben Sie außer für öffentliche, kurze und offensichtliche Methoden |
Dokumentstring-Stil | Keine (Der in PEP257 zu schreibende Inhalt wird beschrieben) | Ja |
Inhalt des Kommentars | Schreibe keine offensichtlichen Dinge | Erklären Sie nicht den Code selbst, sondern folgen Sie der englischen Grammatik, Rechtschreibung und Zeichensetzung |
Zeichenfolgenzitate'``" |
beides funktioniert | Entscheiden Sie, welche im Projekt verwendet werden soll |
Mehrzeilige Zeichenfolge (ohne Dokumentzeichenfolge) | Bei Verwendung von dreifachen Anführungszeichen""" |
Prinzip an der Schnur' In dem Projekt, das sich für die Verwendung entschieden hat''' Aber es ist okay. Es gibt auch Verweise auf andere Schreibstile |
TODO-Kommentarstil | Keiner | Ja |
Importauftrag | Standardbibliothek-> externe Bibliothek-> lokale Bibliothek | Fast das gleiche wie PEP8, jedoch klar in lexikalischer Reihenfolge angegeben |
1 Zeichenvariable | l , O , I Verbot |
原則Verbot。例外はカウンタ・イテレータのi etc,except Ime , Des Dateiobjektsf |
Hin und her_ Benennung |
_xxx , __xxx , xxx_ Erwähnen Sie den Fall der Verwendung |
Wenn nicht öffentlich_xxx 、__xxx Ist veraltet |
Lambda-Stil | Wenn Sie einer Variablen zuweisendef Schreiben |
ワンライナー用に使え。Lambda-Stil部分が60-Verwenden Sie die verschachtelte Funktion, wenn sie 80 Zeichen überschreitet.operator モジュールにある関数をLambda-Stilで書くな |
return | Wenn Sie es verwenden, geben Sie in jedem Fall zurück, schreiben Sie etwas nach der Rückgabe | Nicht erwähnenswert |
Konsistenz | Diejenigen, die zu speziell über ihre Herzen sind, sind eng | Seien Sie konsequent |
#OK mit PEP8 oder Google
#An offenen Klammern ausrichten
foo = long_function_name(var_one, var_two,
var_three, var_four)
meal = (spam,
beans)
#OK mit PEP8 oder Google
#hängender Einzug (4 Leerzeichen)
foo = long_function_name(
var_one, var_two, var_three,
var_four)
meal = (
spam,
beans)
#Erlaubt für PEP8, NG für Google (2 Leerzeichen)
foo = long_function_name(
var_one, var_two,
var_three, var_four)
#Nicht erwähnt in PEP8, OK in Google
foo = {
long_dictionary_key: value1 +
value2,
...
}
foo = {
long_dictionary_key:
long_dictionary_value,
...
}
#Keine Erwähnung in PEP8, NG in Google
foo = {
long_dictionary_key:
long_dictionary_value,
...
}
#OK für PEP8, keine Erwähnung für Google?
def long_function_name(
var_one, var_two, var_three,
var_four):
print(var_one)
#OK in PEP8, nicht in Google erwähnt, vielleicht NG
my_list = [
1, 2, 3,
4, 5, 6,
]
result = some_function_that_takes_arguments(
'a', 'b', 'c',
'd', 'e', 'f',
)
#Ich denke, Google mag diesen Schreibstil. PEP8 ist auch in Ordnung.
my_list = [
1, 2, 3,
4, 5, 6,
]
result = some_function_that_takes_arguments(
'a', 'b', 'c',
'd', 'e', 'f')
if __name__ == '__ main __'
+
, um zwei Zeichenfolgen zu verketten. Verwenden Sie "%", "str.format ()", "f-string", "str.join ()", um mehr als das zu verketten.()
. Schreiben wir ()
, um den Taple anzugeben.for
-Anweisungen oder zwei oder mehr Steueranweisungen in der Einschlussnotation / dem Generatorausdruck.@ classmethod
für eine Methode, die als benannter Konstruktor oder als Methode zum Ändern des globalen Status einer Klasse verwendet werden sollGoogle, schreibe das gleiche wie PEP 8 orz, es war schwer alles zu lesen. Es war gut, dass ich mich entschieden habe, wie man Docstring schreibt und Annotationen sehr detailliert eingibt.
Recommended Posts