Functions

In Python, functions are defined by def followed by the function name and arguments and a colon ( : ), next line starts the intended block (4 spaces) of commands.  The result of a function is given back with return. The function definition ends with the end of the intended block.

Simple Example

def my_func(x,y):
    z = x + y
    return z

run the function
z = my_func(2,3)
print(z)

Predefined default argument values

def my_func(x=2,y=3):
    return x+y

z = my_func()

Keyword arguments

better readable;  argument order can be changed

z = my_func(x=2,y=3) # same as
z = my_func(2,3) 

Multiple results

def my_func(x=2,y=3):
    return x+y, x-y, x*y

z_sum, z_sub, z_prod = my_func(x,y)

Many arguments

to catch non-keywords arguments
def my_func(*args):
    print(args)

to catch keyword arguments
def my_func(**args):
    print(args)

z = my_func(a='test',b='m1',c=4,d=10)

Help description

def my_func(x,y):
    '''
    Example of a python function
    '''

    z = x + y
    return z

help(my_func)