Einrückung in Python mit Beispielen

Im Allgemeinen empfiehlt es sich, beim Codieren in Python keine Tabulatoren und Leerzeichen zu mischen. Dies kann möglicherweise a verursachen TabErrorund Ihr Programm stürzt ab. Seien Sie beim Codieren konsistent - wählen Sie entweder das Einrücken mithilfe von Tabulatoren oder Leerzeichen und befolgen Sie die von Ihnen gewählte Konvention während des gesamten Programms.

Codeblöcke und Einrückung

Eines der markantesten Merkmale von Python ist die Verwendung von Einrückungen zum Markieren von Codeblöcken. Betrachten Sie die if-Anweisung aus unserem einfachen Passwortprüfprogramm:

if pwd == 'apple': print('Logging on ...') else: print('Incorrect password.') print('All done!')

Die Zeilen print ('Logging on ...') und print ('Incorrect password.') Sind zwei separate Codeblöcke. Diese sind zufällig nur eine Zeile lang, aber mit Python können Sie Codeblöcke schreiben, die aus einer beliebigen Anzahl von Anweisungen bestehen.

Um einen Codeblock in Python anzugeben, müssen Sie jede Zeile des Blocks um denselben Betrag einrücken. Die beiden Codeblöcke in unserem Beispiel if-Anweisung sind beide eingerückte vier Leerzeichen, was für Python ein typischer Einrückungsbetrag ist.

In den meisten anderen Programmiersprachen wird der Einzug nur verwendet, um den Code hübsch aussehen zu lassen. In Python ist es jedoch erforderlich, um anzugeben, zu welchem ​​Codeblock eine Anweisung gehört. Zum Beispiel wird der endgültige Druck ('Alles erledigt!') Nicht eingerückt und ist daher nicht Teil des else-Blocks.

Programmierer, die mit anderen Sprachen vertraut sind, strotzen oft vor dem Gedanken, dass Einrückungen wichtig sind: Viele Programmierer mögen die Freiheit, ihren Code nach Belieben zu formatieren. Python-Einrückungsregeln sind jedoch recht einfach, und die meisten Programmierer verwenden bereits Einrückungen, um ihren Code lesbar zu machen. Python geht diese Idee einfach noch einen Schritt weiter und gibt der Einrückung einen Sinn.

If / elif-Anweisungen

Eine if / elif-Anweisung ist eine verallgemeinerte if-Anweisung mit mehr als einer Bedingung. Es wird verwendet, um komplexe Entscheidungen zu treffen. Angenommen, eine Fluggesellschaft hat die folgenden "Kinder" -Tickets: Kinder bis 2 Jahre fliegen kostenlos, Kinder über 2 Jahre, aber jünger als 13 Jahre zahlen einen ermäßigten Kindertarif, und jeder, der 13 Jahre oder älter ist, zahlt einen regulären Erwachsenentarif . Das folgende Programm legt fest, wie viel ein Passagier bezahlen soll:

# airfare.py age = int(input('How old are you? ')) if age <= 2: print(' free') elif 2 < age < 13: print(' child fare) else: print('adult fare')

Nachdem Python vom Benutzer das Alter erhalten hat, gibt es die if / elif-Anweisung ein und überprüft jede Bedingung nacheinander in der angegebenen Reihenfolge. Zuerst wird geprüft, ob das Alter unter 2 Jahren liegt, und wenn ja, wird angezeigt, dass das Fliegen frei ist und aus dem Elif-Zustand herausspringt. Wenn das Alter nicht weniger als 2 beträgt, überprüft es die nächste elif-Bedingung, um festzustellen, ob das Alter zwischen 2 und 13 liegt. Wenn ja, druckt es die entsprechende Nachricht und springt aus der if / elif-Anweisung heraus. Wenn weder die if-Bedingung noch die elif-Bedingung True sind, wird der Code im else-Block ausgeführt.

Bedingte Ausdrücke

Python hat einen weiteren logischen Operator, den einige Programmierer mögen (und andere nicht!). Es ist im Wesentlichen eine Kurzschreibweise für if-Anweisungen, die direkt in Ausdrücken verwendet werden können. Betrachten Sie diesen Code:

food = input("What's your favorite food? ") reply = 'yuck' if food == 'lamb' else 'yum'

Der Ausdruck auf der rechten Seite von = in der zweiten Zeile wird als bedingter Ausdruck bezeichnet und entweder als 'yuck' oder 'yum' ausgewertet. Es entspricht dem Folgenden:

food = input("What's your favorite food? ") if food == 'lamb': reply = 'yuck' else: reply = 'yum'

Bedingte Ausdrücke sind normalerweise kürzer als die entsprechenden if / else-Anweisungen, obwohl sie nicht ganz so flexibel oder leicht zu lesen sind. Im Allgemeinen sollten Sie sie verwenden, wenn sie Ihren Code vereinfachen.

Python-Dokumentation - Einrückung