8. Lektion: Funktionen: Unterschied zwischen den Versionen

Aus Attraktor Wiki

Wechseln zu: Navigation, Suche
(Lokale und globale Variablen)
(Rückgabe von Werten)
Zeile 23: Zeile 23:
 
=== Rückgabe von Werten===
 
=== Rückgabe von Werten===
 
Eine Funktion gibt - wenn sie ihrem Namen gerecht wird - einen Wert zurück. Dazu dient das Schlüsselwort return:
 
Eine Funktion gibt - wenn sie ihrem Namen gerecht wird - einen Wert zurück. Dazu dient das Schlüsselwort return:
 +
<pre>
 +
def addiere(a, b):
 +
    ergebnis = a + b
 +
    return ergebnis
 +
</pre>
 +
Es geht kürzer:
 
<pre>
 
<pre>
 
def addiere(a, b):
 
def addiere(a, b):

Version vom 31. Juli 2023, 10:21 Uhr

Micropython bringt von sich aus schon eine ganze Reihe Funktionen mit. Aber richtig anwendbar wird eine Programmiersprache erst, wenn man eigene Funktionen definieren kann. Das geht in Micropython natürlich.

Eine Funktion definieren

‎def funktionsname(parameter1, parameter2):
    pass‎

Parameter sind Werte die an die Funktion übergeben werden. Im Prinzip können beliebig viele Parameter übergeben werden. Bei der Definition einer Funktion werden die Namen der Parameter die in der Funktion verwendet werden eingetragen.
Beispiel:

def erste_funktion(vorname, nachname):
    print('Hallo ' + vorname + nachname)

Eine Funktion benutzen

erste_funktion('Mickey', 'Mouse')
Übung
  • Probiere das obige Beispiel selbst aus.
  • Entwickle 2 eigene Funktionen.

Rückgabe von Werten

Eine Funktion gibt - wenn sie ihrem Namen gerecht wird - einen Wert zurück. Dazu dient das Schlüsselwort return:

def addiere(a, b):
    ergebnis = a + b
    return ergebnis

Es geht kürzer:

def addiere(a, b):
    return a + b

Anwendung

x = addiere(3, 5)
print(x)

8

Lokale und globale Variablen

  • Variablen die in einer Funktion verwendet werden sind nur lokal - also innerhalb der Funktion - bekannt.
  • Variablen die im Hauptprogramm verwendet werden sind nur im Hauptprogramm - also nicht in einer Funktion - bekannt.
  • Wenn eine Variable ais dem Hauptprogramm in einer Funktion verwendet werden soll, so muss sie der Funktion mit global bekannt gemacht werden.
def prog_1(name)
    x = name

prog_1('Peter'):
print(x)

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'x' isn't defined

Nun mit globaler Variable x

x = None

def prog_2(name):
    global x
    x = name

prog_2('Peter')
print(x)

'Peter'