Functions
Function with one argument
In [124]: def quadrat(x): .....: return x**2 .....: In [125]: quadrat(2) Out[125]: 4
Function with variable number of arguments
In [126]: def printargs(*args): .....: for arg in args: .....: print arg .....: In [127]: printargs(a) [1, 2, 3] In [128]: printargs(a,range(4)) [1, 2, 3] [0, 1, 2, 3]
Function with variable number of keywords
In [131]: def printkeys(**kw): .....: for k in kw.keys(): .....: print k,kw[k] .....: In [132]: printkeys(key1=10,key2='Hallo') key2 Hallo key1 10
Function with functions as arguments
Functions can be passed to functions as arguments.
eval(), apply()
In Matlab or IDL the passing of functions to functions works only with a detour using feval() or Call_function()
Of course, this way is possible in Python as well using the eval() or apply() function.
Lambda expressions
Lambda expressions are (anonymous) one line functions
Mapping
Similar as apply() works with one argument one can call map() with a sequence
The following example shows the combined usage of a lambda expression