Rückgabewerte

In [1]:
def beispiel(a,b,c):
    print(type(a))
    print(type(b))
    print(type(c))
    if type(a) == int:
        return b
    elif type(b) == list:
        return c
In [6]:
beispiel(1,["a","b","c"],dict(eins=2,zwei=3,drei=4))
<class 'int'>
<class 'list'>
<class 'dict'>
Out[6]:
['a', 'b', 'c']
In [3]:
beispiel(3.141,["a","b","c"],dict(eins=2,zwei=3,drei=4))
<class 'float'>
<class 'list'>
<class 'dict'>
Out[3]:
{'drei': 4, 'eins': 2, 'zwei': 3}
In [4]:
beispiel(["a","b","c"],dict(eins=2,zwei=3,drei=4),3.141)
<class 'list'>
<class 'dict'>
<class 'float'>
In [5]:
ergebnis = beispiel(1,["a","b","c"],dict(eins=2,zwei=3,drei=4))
<class 'int'>
<class 'list'>
<class 'dict'>
In [7]:
ergebnis
Out[7]:
['a', 'b', 'c']
In [8]:
ergebnis = beispiel(3.141,["a","b","c"],dict(eins=2,zwei=3,drei=4))
<class 'float'>
<class 'list'>
<class 'dict'>
In [9]:
ergebnis
Out[9]:
{'drei': 4, 'eins': 2, 'zwei': 3}
In [10]:
ergebnis = beispiel(["a","b","c"],dict(eins=2,zwei=3,drei=4),3.141)
<class 'list'>
<class 'dict'>
<class 'float'>
In [11]:
ergebnis
In [12]:
print(ergebnis)
None
In [13]:
def fkt(x):
    return x
In [14]:
ergebnis = beispiel(3.141,["a","b","c"],fkt)
<class 'float'>
<class 'list'>
<class 'function'>
In [15]:
ergebnis
Out[15]:
<function __main__.fkt>
In [16]:
ergebnis(5)
Out[16]:
5
In [17]:
fkt(5)
Out[17]:
5
In [18]:
def quadr(a=1,b=0,c=0):
    def f(x):
        return a*x**2 + b*x +c
    return f
In [19]:
funktionen = [quadr(2,4,6),
             quadr(4,0,6),
             quadr(0,5),
             quadr(-3,2,1),
             quadr(0,-3,-3),
             quadr(-2,-1),
             quadr(0,0,6)]
In [20]:
funktionen
Out[20]:
[<function __main__.quadr.<locals>.f>,
 <function __main__.quadr.<locals>.f>,
 <function __main__.quadr.<locals>.f>,
 <function __main__.quadr.<locals>.f>,
 <function __main__.quadr.<locals>.f>,
 <function __main__.quadr.<locals>.f>,
 <function __main__.quadr.<locals>.f>]
In [21]:
funktionen[0](7)
Out[21]:
132
In [22]:
2*7**2+4*7+6
Out[22]:
132

Lambda

In [23]:
def addiere2werte(a,b):
    return a+b
In [24]:
addiere2werte(4,5)
Out[24]:
9
In [25]:
f = lambda a,b: a+b
In [26]:
f(4,5)
Out[26]:
9
In [27]:
def quadr(a=1,b=0,c=0):
    return lambda x: a*x**2 + b*x +c