Einrückung in Python bestimmt den Umfang des Codes. Dies unterscheidet sich stark von herkömmlichem C/C++ (herkömmliches C/C++ verwendet geschweifte Klammern {}, um den Umfang des Bereichs zu bestimmen; Python verwendet eingerückte Leerzeichen, um den Umfang des Bereichs anzugeben, und die gleichen eingerückten Codezeilen liegen im gleichen Bereich ).
Die Anzahl der Leerzeichen (Leerzeichen) am Anfang jeder Codezeile wird verwendet, um die Einrückungsebene (Einrückungsebene) der Codezeile zu berechnen. Beachten Sie, dass ein Tab durch 1 bis 8 Leerzeichen ersetzt wird (spezifische Anzahl von Leerzeichen, verschiedene Compiler haben unterschiedliche Zahlen), und eine Einrückungsebene von 0 bedeutet, dass keine eingerückten Leerzeichen vorhanden sind.
Es wird nicht empfohlen, in einer Quelldatei gleichzeitig Leerzeichen und Tabulatoren zu verwenden. Wenn Sie den Code anderer Personen verwenden, ist es fast unmöglich zu wissen, ob andere Leerzeichen oder Tabulatoren verwenden Wenn Sie am besten die einheitliche Einrückung verwenden, können Sie im IDEL-Editor „Bearbeiten“ > „Bereich aufheben“ verwenden, um jedes Tabulatorzeichen in ein Leerzeichen umzuwandeln.
Jede Anweisung in Python hat eine Einrückungsebene, und die Einrückungsebene wird mithilfe der Stapeldatenstruktur gespeichert. Bevor mit dem Lesen der Datei begonnen wird, wird zunächst 0 (d. h. Einrückungsebene 0, keine Einrückung) auf den Stapel gelegt. Lesen Sie dann jede Zeile des logischen Codes der Reihe nach vom Anfang bis zum Ende der Datei. Die Einrückungsebene jeder Zeile des logischen Codes wird mit dem Wert oben im Stapel verglichen. Wenn sie gleich sind, passiert nichts. Wenn es größer als der Wert oben im Stapel ist, wird die Einrückungsebene der Zeile des logischen Codes auf den Stapel verschoben, und ein Einrückungs-Token (INDENT TOKEN) wird generiert an der Spitze des Stapels werden dann alle Einrückungsebenen im Stapel generiert, die größer als die Einrückungsebene der logischen Codezeile sind. Der Wert wird aus dem Stapel entfernt und ein Erweiterungstoken (DEDENT TOKEN) wird generiert.
Das Folgende ist eine korrekte Groß-/Kleinschreibung von Einrückungen:
def perm(l):#0 # Compute the list of all permutations of l if len(l) <= 1:# 1 return [l]# 2 r = []# 3 for i in range(len(l)):# 4 s = l[:i] + l[i+1:]# 5 p = perm(s)# 6 for x in p:# 7 r.append(l[i:i+1] + x)# 8 return r# 9
Das Folgende ist eine falsche Groß-/Kleinschreibung
def perm(l): #1 error: first line indented for i in range(len(l)): #2 error: not indented s = l[:i] + l[i+1:] p = perm(l[:i] + l[i+1:]) #3 error: unexpected indent for x in p: r.append(l[i:i+1] + x)#4 return r #5 error: inconsistent dedent
Das obige ist der detaillierte Inhalt vonWie heißen die Python-Einrückungsregeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!