prägnanter Über...LOGIN

prägnanter Überblick

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

  • einheitlich verwenden 4 Mit Leerzeichen einrücken

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:

  • Dies ist ein Vergleichsvergleich Sehr hilfreich

  • Praktisch, um den Code unter der Konsole anzuzeigen

  • Zu lang kann ein Designfehler sein

2.3. Anführungszeichen

Einfach ausgedrückt verwendet die natürliche Sprache doppelte Anführungszeichen und die maschinelle Markierung verwendet einfache Anführungszeichen

Im Code sollten die meisten einfache Anführungszeichen verwenden

  • Natürliche Sprache verwendet doppelte Anführungszeichen „..."

Beispielsweise Fehlermeldungen; Unicode, verwenden Sie u"Hello World"

  • Die Maschinenkennung verwendet einfache Anführungszeichen '...'. Zum Beispiel der Schlüssel in dict

  • Regulärer Ausdruck Die Formel verwendet native doppelte Anführungszeichen r"..."

  • docstring (docstring) Verwenden Sie drei doppelte Anführungszeichen """......"""

2.4, Leerzeile

  • Modul Zwei Leerzeilen zwischen Funktionen auf Blockebene und Klassendefinitionen; eine Leerzeile zwischen

  • Klassenmitgliedsfunktionen

  • class A:
        def __init__(self):
            pass
        def hello(self):
            pass
    def main():
        pass
  • Sie können mehrere Leerzeilen verwenden, um mehrere Gruppen verwandter Funktionen zu trennen

  • Sie können Leerzeilen in Funktionen verwenden Trennen Sie logisch verwandte Codes

2.5, Codierung

  • Dateinutzung UTF-8-Kodierung

  • #-*-conding:utf-8-*-logo zum Dateikopf hinzufügen

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

  • Die Importanweisung sollte am Anfang der Datei, nach der Modulbeschreibung und der Dokumentzeichenfolge sowie in der globalen Variablen platziert werden vorher;

  • Importanweisungen sollten der Reihe nach angeordnet werden, wobei jede Gruppe durch eine Leerzeile getrennt werden sollte


  • import os
    import sys
    import msgpack
    import zmq
    import foo
  • Beim Importieren von Klassendefinitionen aus anderen Modulen können Sie relative Importe verwenden

  • from myclass import MyClass
  • Wenn ein Namenskonflikt auftritt, können Sie Namespaces verwenden

  • import bar
    import foo.bar
    bar.Bar()
    foo.bar.Bar()

4. Leerzeichen

  • Ein Leerzeichen auf jeder Seite des binären Operators [=,-, =,==, > ;,in,is nicht, und]:

  • # 正确的写法
    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)
  • In der Parameterliste der Funktion muss danach ein Leerzeichen

    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
KapitelKursunterlagen