Define Function

Function Arguments

By default, arguments are assigned to function left to right

In [77]:

def myfun(x,y):
    print ('x:',x)
    print ('y:',y)

myfun(5,8)
x: 5
y: 8

However, you can also specify the argument assigment during function call

In [78]:

myfun (y=8,x=5)
x: 5
y: 8

Function can have default argement value

In [79]:

def myfun(x=1,y=1):  # default argument value is 1
    print ('x:',x)
    print ('y:',y)

myfun(5)  # pass only one argument
x: 5
y: 1

Return Statement

In [80]:

def bigger(x,y):
    if (x>y):
        return x
    else:
        return y

print (bigger(5,8))
8

No Return Statement

if no return statement, python return None

In [81]:

def dummy():
    print ('This is a dummy function, return no value')

print (dummy())
This is a dummy function, return no value
None

Return Multiple Value

Multiple value is returned as tuple. Use multiple assignment to assign to multiple variable

In [82]:

def minmax(x,y,z):
    return min(x,y,z), max(x,y,z)

a,b = minmax(7,8,9)     # multiple assignment
c   = minmax(7,8,9)     # tuple

print (a,b)
print (c)    
7 9
(7, 9)

Passing Function as Argument

You can pass a function name as an argument to a function

In [83]:

def myfun(x,y,f):
    f(x,y)

myfun('hello',54,print)
hello 54

results matching ""

    No results matching ""