Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erläuterung der Einrückung von Python-Code und Beispiele für Testmodule

Ausführliche Erläuterung der Einrückung von Python-Code und Beispiele für Testmodule

不言
不言Original
2018-05-07 11:50:541264Durchsuche

Dieser Artikel stellt hauptsächlich die detaillierte Erklärung der Python-Codeeinrückung und Testmodulbeispiele vor. Jetzt kann ich ihn mit allen teilen, die ihn benötigen.

Vorwort

Python-Code-Einrückung und Testmodule sind ein unverzichtbarer Bestandteil des Python-Lernens. In diesem Artikel werden hauptsächlich die relevanten Inhalte über Python-Code-Einrückung und Testmodule vorgestellt und mit allen geteilt Im Folgenden gibt es nicht viel zu sagen. Werfen wir einen Blick auf die ausführliche Einführung.

1. Python-Code-Einrückung

Python-Funktionen haben keinen offensichtlichen Anfang und kein offensichtliches Ende, und es gibt keinen Hinweis auf den Anfang und Ende der Funktion. Das einzige Trennzeichen ist ein Doppelpunkt ( : ), und dann wird der Code selbst eingerückt.

Beispiel: Indentation buil dCon necti onStr ing function

def buildConnectionString(params):
"""Build a connection string from a dictionary of parameters.
Returns string."""
return ";".join(["%s=%s" % (k, v) for k, v in params.items()])

Codeblöcke werden durch ihre Einrückung definiert. Mit „Codeblöcken“ meine ich: Funktionen, if-Anweisungen, for-Schleifen, while-Schleifen usw. Das Beginnen einer Einrückung zeigt den Anfang eines Blocks an, und das Aufheben einer Einrückung zeigt das Ende eines Blocks an. Es gibt keine offensichtlichen Klammern, Klammern oder Schlüsselwörter. Das bedeutet, dass Leerzeichen wichtig und konsistent sind. In diesem Beispiel wird der Funktionscode (einschließlich der Dokumentzeichenfolge) um 4 Leerzeichen eingerückt. Es müssen nicht 4 sein, nur konsistent. Die erste nicht eingerückte Zeile wird als außerhalb des Funktionskörpers betrachtet.

Beispiel: „if-Anweisung“ zeigt ein Beispiel für die Einrückung einer if-Anweisung.

def fib(n): (1)
print 'n =', n (2)
if n > 1: (3)
return n * fib(n - 1)
else: (4)
print 'end of the line'
return 1

(1) Dies ist eine Funktion namens fib mit einem Parameter n . Der gesamte Code innerhalb von Funktionen ist eingerückt.

(2) Es ist sehr einfach, Inhalte in Python auf dem Bildschirm auszugeben, verwenden Sie einfach print. Die print-Anweisung kann jeden Datentyp akzeptieren, einschließlich Zeichenfolgen, Ganzzahlen und anderen Typen wie Wörterbüchern und Listen. Sie können die Ausgaben sogar zusammenmischen, indem Sie sie einfach durch Kommas trennen. Alle Werte werden in derselben Zeile gedruckt, durch Leerzeichen getrennt (Kommas werden nicht gedruckt). Wenn also fib mit 5 aufgerufen wird, wird „n = 5“ ausgegeben.

(3) Die if-Anweisung ist eine Art Codeblock. Wenn der if-Ausdruck „true“ ergibt, wird der folgende eingerückte Block ausgeführt, andernfalls wird der else-Block ausgeführt.

(4) Natürlich können if- und else-Blöcke viele Zeilen enthalten, solange sie alle gleich eingerückt sind. Dieser else-Block enthält zwei Codezeilen. Für mehrzeilige Codeblöcke gibt es keine spezielle Syntax, sondern nur Einrückungen. Nach anfänglichem Protest und ein paar spöttischen Analogien zu Fortran werden Sie mit der Codeeinrückung Frieden schließen
und beginnen, die Vorteile zu erkennen. Ein großer Vorteil besteht darin, dass alle Python-Programme ähnlich aussehen, da Einrückungen eher eine Sprachanforderung als ein Stil sind. Dies macht es viel einfacher, den Python-Code anderer Leute zu lesen und zu verstehen.

Hinweis: Python vs. Java: Anweisungen und Anweisungsaufteilung

Python verwendet harte Rückgaben, um Anweisungen zu teilen, und Doppelpunkte und Einrückungen, um Codeblöcke zu teilen. C++ und Java verwenden Semikolons zum Trennen von Anweisungen und geschweifte Klammern zum Trennen von Codeblöcken.

2. Python-Testmodul

Alle Python-Module sind Objekte und verfügen über mehrere nützliche Attribute. Mit diesen Eigenschaften können Sie die von Ihnen geschriebenen Module einfach testen. Hier ist ein Trick mit if name.

if name == "__main__":

Bevor wir etwas Neues lernen, gibt es ein paar wichtige Beobachtungen. Erstens, wenn Ausdrücke nicht in Klammern eingeschlossen werden müssen. Zweitens endet die if-Anweisung mit einem Doppelpunkt, gefolgt vom eingerückten Code.

Hinweis: Python vs. C: Vergleich und Zuweisung

Python verwendet wie C == für den Vergleich und = für die Zuweisung. Im Gegensatz zu C unterstützt Python keine Inline-Zuweisung, sodass keine unerwartete Zuweisung auftritt, wenn Sie einen Vergleich durchführen möchten.

Warum ist diese besondere if-Anweisung ein Trick? Module sind Objekte und alle Module verfügen über einen integrierten Eigenschaftsnamen. Der Wert eines Modulnamens hängt davon ab, wie Sie das Modul anwenden. Wenn ein Modul importiert wird, ist der Wert von name normalerweise der Dateiname des Moduls, ohne Pfad oder Dateierweiterung. Sie können das Modul aber auch direkt wie ein Standardprogramm ausführen. In diesem Fall ist der Wert von name ein spezieller Standardwert, main .

>>> import odbchelper
>>> odbchelper.__name__
'odbchelper'

Sobald Sie das wissen, können Sie eine Testsuite für Ihr Modul innerhalb des Moduls entwerfen und diese if-Anweisung darin einfügen. Wenn Sie das Modul direkt ausführen, ist der Wert von name main , sodass die Testsuite ausgeführt wird. Wenn Sie das Modul importieren, ist der Wert von name ein anderer, sodass die Testsuite ignoriert wird. Dies erleichtert die Entwicklung und das Debuggen neuer Module erheblich, bevor diese in ein größeres Programm integriert werden.

Tipp: if name __ unter Mac OS

Auf MacPython ist ein zusätzlicher Schritt erforderlich, damit der if name-Trick funktioniert. Klicken Sie auf das schwarze Dreieck in der oberen rechten Ecke des Fensters, um das Eigenschaftenmenü des Moduls aufzurufen und zu bestätigen, dass „Als Hauptmodul ausführen“ ausgewählt ist.

  • Erklärung zur Verwendung des Python-Unit-Testing-Frameworks Unittest

  • Python-Testimplementierungsmethode

Verwandte Empfehlungen:

Verpacken und Veröffentlichen von Python-Code

Methoden zum Trennen von Python-Code und Kommentaren_python

Kreuzvalidierung und Python-Code-Implementierung

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Einrückung von Python-Code und Beispiele für Testmodule. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn