Funktionen

2.2.4. Funktionen#

Funktionen bündeln oft verwendete Abfolgen von Anweisungen. Damit kann zum einen ein Programm schneller geschrieben werden und ist auch leichter lesbar. Viele Funktionen sind bereits entweder Teil der Programiersprache Python oder können über Module nachgeladen werden.

None Wert#

Ein Wert kann auch als nicht vorhanden deklariert werden. Dies wird mit dem None Wert möglich. Beispielsweise ist dies wichtig, wenn eine Funktion nichts zurückgibt. Da formal aber ein Wert zurückgegeben werden muss, kann dies mit None realisiert werden.

Aufruf#

Funktionen haben einen Funktionsnamen, können Argumente entgegennehmen und können einen Wert zurückgeben. Aufgerufen wird eine Funktion mit ihrem Namen gefolgt von runden Klammern () welche die kommagetrennten Argumente einschließt. Nachdem die Funktion ausgeführt wurde, wird der von ihr zürckgegebene Wert an der entsprechenden Stelle in dem aufrufenden Ausdruck eingesetzt.

Die bereits eingesetzte Funktion print ist eine in Python eingebaute Funktion.

print( 15 )
15
res = print( 15 )
print(res)
15
None

Weitere eingebaute Funktionen sind z.B. int, abs oder type . Eine vollständige Liste ist in der Dokumentation aufgeführt.

# int(a): wandelt den Wert a in eine ganze Zahl, Typ int, um und gibt diesen zurück

print( int(6) )
print( int(4.2) )
6
4
# abs(a): gibt den Betrag der Zahl a zurück

print( abs(5) )
print( abs(-3.5) )
5
3.5
# type(a): gibt den Datentyp der Variable / Werts a zurück

print( type(12) )
print( type(1.4) )
print( type(True) )
<class 'int'>
<class 'float'>
<class 'bool'>
print( type(4.7 + 5) )
print( type(4.7 > 5) )
<class 'float'>
<class 'bool'>

Methoden#

Die obige Ausgabe der Datentypen hat nicht nur float ausgebeben, sondern <class 'float'>. Tatsächlich ist diese Variable bzw. Wert eine Klasse, ein Themenbereich, welcher hier nicht weiter erläutert wird. Wichtig ist jedoch, dass Klassen sogenannte Attribute haben können. Dazu gehören Methoden. Methoden sind Funktionen, welche zu dem jeweiligen Datentyp gehören. Sie werden wie Funktionen aufgerufen, wobei der Variablenname vorgesetzt und mit einem Punkt . getrennt wird: variable.methode.

Insbesondere bei den komplexeren Datentypen wie Zeichenketten oder Listen werden Methoden eine wichtige Rolle einnehmen. An dieser Stelle wird exemplarisch der Zugriff auf Methoden der Klasse float demonstriert. Eine Liste aller Methoden dieser Klasse befindet sich in der Dokumentation der numerischen Klassen.

a = 0.1
print( 'float: ', a)
print( a.as_integer_ratio() )
print( a.is_integer() )
float:  0.1
(3602879701896397, 36028797018963968)
False
a = 2.0
print( 'float: ', a)
print( a.as_integer_ratio() )
print( a.is_integer() )
float:  2.0
(2, 1)
True