Funktionen



Funktionen kennst du schon aus Mathe, dort gibt es beispielsweise die Wurzelfunktion: y = √x

In Python schreibt man dafur: y = sqrt(x), Beispiel:

>>> y = sqrt(2)
>>> y
1.4142135623730951
>>> sqrt(3)
1.7320508075688772

Probiere das obige Beispiel aus! Wie? Schon wieder eine Fehlermeldung?? Studiere die Fehlermeldung und formuliere eine Vermutung. Jetzt! _____________________________________________________________

Wir haben beim letzten Mal auch eine Python-Funktion kennengelernt, welche? _____________________________________________________________

Wie schreibt man eine Python-Funktion? Hier ein Beispiel:

Beispiel-Funktion

An diesem Beispiel ist so ziemlich alles wichtig, was ihr seht. Zuvor aber ein wichtige Unterscheidung: Was ihr hier seht, ist eine Funktionsvereinbarung, man sagt kurz: hallo() ist eine Abkürzung für die beiden print-Befehle. Wenn man eine Funktion vereinbart hat, will man sie auch aufrufen, gib einfach ein:

>>> hallo()

Als Ergebnis solltest du auf dem Bildschirm sehen:

Hallo Info-E2
Python IS fun!

Und jetzt zur Funktionsvereinbarung, der Einfachheit halber mit Zeilennummern, die du natürlich nicht eingibst!

(1) >>> def hallo():
(2)             print('Hallo Info-E2')
(3)             print('Python IS fun!')
(4)
(5) >>>

Erklärung:

Keine Regel ohne Ausnahme, doch dazu später.


Editor

Wenn wir IDLE verlassen, sind unsere selbst geschriebenen Funktionen weg! Das muss nicht sein: Gehe im Menü oben über "File > New File" (kürzer: "Strg N", das heisst, drücke die Strg-Taste, lasse sie gedrückt und drücke die N-Taste), und gib in das neue Fenster ein:

hallo() im Editor

Beachte die Einrückungen! Abspeichern geht uber "File=>Save" (kurzer: "Strg S"), du musst aber beim Dateinamen die Endung ".py" mit eingeben (Bitte auf Laufwerk H:\ abspeichern):

Abspeichern von hallo1.py

Danach sollte dein Fenster etwa so aussehen:

hallo() im Editor

Und wie führt man diese kleine Python-Funktion aus? Ganz einfach: über "Run > Run Module" (kürzer: "F5", F5 ist eine der Funktionstasten oben auf der Tastatur). Probiere es aus. Wie, es passiert nichts? Gib einfach ein:

>>> hallo()

Muster

Muster machen wir mit vielen print()-Befehlen! Beispiel:

def muster():
    print('*'*7)
    print('*' + ' '*5 + '*')
    print('*'*7)

Unterscheide . . .

die Funktionsvereinbarung, die man gerne auch Funktionsdeklaration nennt vom Aufruf der Funktion. Beispiel: Die Funktion muster() haben wir ein einziges Mal programmiert, also vereinbart. Aufrufen können wir die Funktion dagegen mehrmals, zur Not auch, weil die Ausgabe so schön ist, gleich 2 x hintereinander:

>>> muster(), muster()

Was wir eben über selbstgeschriebene Funktionen gesagt haben, gilt natürlich auch für Python-Funktionen, z. B. print(): Wir rufen sie mehrfach auf, aber vereinbart wird sie nur 1 x, und zwar von den netten Menschen, die uns Python kostenlos zur Verfügung stellen.


Aufgaben

  1. Schreibe eine Funktion hallo2(), die dich nach deinem Namen fragt, und dann mit deinem Namen begrüßt! Abspeichern unter hallo2.py

  2. Schreibe eine Funktion dreieck(), die folgende Ausgabe erzeugt:   Ein Dreieck!
    Abspeichern unter dreieck.py

  3. Geht auch

    >>> dreieck(), dreieck(), dreieck()

  4. Was bedeutet denn die Ausgabe von Python in Aufgabe 3: (None, None, None) (schwere Aufgabe . . .)


→ sp, 2023-07-25