Kurzübersicht
1. Kodierung
Wenn keine besonderen Umstände vorliegen , die Datei verwendet immer UTF-8 Codierung
Sofern keine besonderen Umstände vorliegen, Der Dateikopf muss mit dem #-*-coding:utf-8-*-mark
2 Codeformat
< hinzugefügt werden 🎜>2.1 , Einzug
2.2. Zeilenbreite
Jede Codezeile sollte 80 Zeichen nicht überschreiten (bei Sonderzeichen kann es etwas mehr sein). Umstände) 80, aber das Maximum 120)Grund:
2.3. Anführungszeichen
Einfach ausgedrückt verwendet die natürliche Sprache doppelte Anführungszeichen und die maschinelle Markierung verwendet einfache AnführungszeichenIm Code sollten die meisten einfache Anführungszeichen verwenden
2.4, Leerzeile
class A: def __init__(self): pass def hello(self): pass def main(): pass
2.5, Codierung
3 . Import-Anweisung
import Anweisungen sollten in separaten Zeilen geschrieben werden# 正确的写法 import os import sys # 不推荐的写法 import sys,os # 正确的写法 from subprocess import Popen, PIPE import语句应该使用 absolute import # 正确的写法 from foo.bar import Bar # 不推荐的写法 from ..bar import Bar
import os import sys import msgpack import zmq import foo
from myclass import MyClass
import bar import foo.bar bar.Bar() foo.bar.Bar()
4. Leerzeichen
# 正确的写法 i = i + 1 submitted += 1 x = x * 2 - 1 hypot2 = x * x + y * y c = (a + b) * (a - b) # 不推荐的写法 i=i+1 submitted +=1 x = x*2 - 1 hypot2 = x*x + y*y c = (a+b) * (a-b)
stehen
# 正确的写法 def complex(real, imag): pass # 不推荐的写法 def complex(real,imag): pass
Fügen Sie in der Parameterliste der Funktion keine Leerzeichen um das Standardwert-Gleichheitszeichen hinzu
# 正确的写法 def complex(real, imag=0.0): pass # 不推荐的写法 def complex(real, imag = 0.0): pass
Fügen Sie nach der linken Klammer und vor der rechten Klammer keine zusätzlichen Leerzeichen hinzu
# 正确的写法 spam(ham[1], {eggs: 2}) # 不推荐的写法 spam( ham[1], { eggs : 2 } )
Keine zusätzlichen Leerzeichen vor der öffnenden Klammer des Wörterbuchobjekts
# 正确的写法 dict['key'] = list[index] # 不推荐的写法 dict ['key'] = list [index]
Nicht ausrichten Zusätzliche Leerzeichen für Zuweisungsanweisungen
# 正确的写法 x = 1 y = 2 long_variable = 3 # 不推荐的写法 x = 1 y = 2 long_variable = 3
5. Zeilenumbrüche
Python Unterstützt Zeilenumbrüche in Klammern. Derzeit gibt es zwei Situationen.
1. Die zweite Zeile wird zum Anfang der Klammer eingerückt
foo = long_function_name(var_one, var_two, var_three, var_four)
2. Die zweite Zeile wird um 4 Leerzeichen eingerückt, was für den Fall geeignet ist, dass die Startklammer neu ist Zeile
def long_function_name( var_one, var_two, var_three, var_four): print(var_one)
Verwenden Sie Backslash für Zeilenumbrüche, binären Operator .etc. sollte am Ende der Zeile stehen; lange Zeichenfolgen können mit dieser Methode auch umgebrochen werden
session.query(MyTable).\ filter_by(id=1).\ one() print 'Hello, '\ '%s %s!' %\ ('Harry', 'Potter')
Zusammengesetzte Anweisungen sind verboten, das heißt, eine Zeile enthält mehrere Anweisungen:
# 正确的写法 do_first() do_second() do_third() # 不推荐的写法 do_first();do_second();do_third();
if/for/while muss zeilenweise umbrochen werden:
# 正确的写法 if foo == 'blah': do_blah_thing() # 不推荐的写法 if foo == 'blah': do_blash_thing()
6.docstring
docstring Die zwei grundlegendsten Punkte in der Spezifikation:
1. Alle öffentlichen Module, Funktionen, Klassen und Methoden sollten in Docstring geschrieben werden. Private Methoden sind nicht unbedingt erforderlich, sollten aber mit einem Blockkommentar nach der Def versehen werden.
2. Das Ende des Dokumentstrings „“ sollte in einer eigenen Zeile stehen, es sei denn, der Dokumentstring hat nur eine Zeile.
rrreenächsten Abschnitt