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