Wir haben bereits mit Funktionen in Python gearbeitet. Tatsächlich hat unser erstes Programm schon eine Funktion verwendet. print() ist eigentlich eine Funktion. min(), max(), input(), sorted() und alle anderen Befehle mit Klammern sind alles Funktionen.
Funktionen führen mehrere Befehle aus und geben in einigen Fällen ein Ergebnis zurück. min() berechnet das Minimum mehrerer Werte und gibt diesen Wert zurück. print() hingegen gibt einen Wert auf der Ausgabe aus.
Funktionen sind besonders nützlich, um sich wiederholenden Code zu eliminieren. Wir können auch eigene Funktionen definieren. Stellen Sie sich vor, Sie möchten ein bestimmtes Objekt dreimal ausgeben und zwischendurch etwas anderes tun:
Um eine eigene Funktion zu definieren, muss man das Schlüsselwort def verwenden, gefolgt vom Namen der Funktion (print_triangle in unserem Fall), gefolgt von () und einem :, um den Beginn des Funktionsblocks zu markieren. Die Liste der Befehle, die die Funktion ausführen soll, wird in einem eingerückten Block innerhalb des Funktionskörpers platziert.
Beide Programme führen genau die gleichen Operationen aus, aber das zweite definiert den sich wiederholenden Teil in einer Funktion und stellt sicher, dass der Code nicht kopiert und eingefügt wird.
Das erste hingegen enthält viel Copy-Paste, und wenn wir uns entscheiden würden, das * durch % zu ersetzen, wenn wir ein Dreieck drucken, müssten wir viele Änderungen vornehmen und jede Zeile durchgehen, um die Änderung vorzunehmen. Dies kann bei größeren Codebasen wirklich chaotisch werden und ist sehr fehleranfällig.
Herausforderung
Definieren Sie eine Funktion, die ein Rechteck der Größe ausgibt und rufen Sie sie dreimal auf. Die Ränder des Rechtecks sollten aus dem Symbol # bestehen, und das Innere soll leer sein.