Fehlwerte in Python
Mit einem Gleichheitszeichen »=« kann einem Parameter ein Fehlwert zugeordnet werden.
- Protokoll
def hello( name='Du' ):
print( 'Hallo', name )
Der Fehlwert wird verwendet, wenn kein Argumentwert angegeben wird.
- Protokoll
hello( 'Ben' )
Hallo Ben
hello()
Hallo Du
Alle Parameter ohne Fehlwert müssen immer vor den Parametern mit Fehlwert erscheinen.
- Protokoll (frei übersetzt und gekürzt)
def hello( name='Du', x ):
passSyntaxfehler: Parameter ohne Fehlwert hinter Parameter mit Fehlwert
Vorsicht! Die Objekte werden nicht bei jedem Aufruf neu erzeugt!
main.py
def f( arg, list_ = [] ):
list_.append( arg )
print( list_ )f( 0 )
f( 1 )
f( 2 )- Protokoll
[0]
[0, 1]
[0, 1, 2]
Übungsaufgaben
Für alle Funktionsdefinitionen in diesem Kapitel soll »def« verwendet werden und nicht »= lambda«.
/ Übungsaufgabe
Schreiben Sie eine def-Definition einer Funktion »get«, die eine Zahl vom Bediener einliest und als int-Wert zurückgibt.
Diese Funktion soll einen Text als Argument akzeptieren, der beim Start der Funktion als Abfragetext (Eingabeaufforderung) ausgegeben werden soll.
Es soll aber auch möglich sein, diese Funktion ohne ein Argument aufzurufen; in diesem Fall soll kein Abfragetext (keine Eingabeaufforderung) ausgegeben werden.
Schreiben Sie dann eine Funktion, die eine ganze Zahl einliest und das Doppelte jener Zahl ausgibt.
/ Übungsaufgabe
Schreiben Sie eine def-Definition einer Funktion »read«, die eine Zahl vom Bediener einliest und als float-Wert zurückgibt.
Diese Funktion soll einen Text als Argument akzeptieren, der beim Start der Funktion als Abfragetext (Eingabeaufforderung) ausgegeben werden soll.
Es soll aber auch möglich sein, diese Funktion ohne ein Argument aufzurufen; in diesem Fall soll kein Abfragetext (keine Eingabeaufforderung) ausgegeben werden.
Schreiben Sie dann eine Funktion, die eine Zahl einliest und das Doppelte jener Zahl ausgibt.