Functions
You use the def statement to create a function, as shown in the following example:
def remainder(a,b): q = a/b r = a - q*b return r
To invoke a function, simply use the name of the function followed by its arguments enclosed in parentheses, such as result = remainder(37,15). You can use a tuple to return multiple values from a function, as shown here:
def divide(a,b): q = a/b # If a and b are integers, q is an integer r = a - q*b return (q,r)
When returning multiple values in a tuple, it's often useful to invoke the function as follows:
quotient, remainder = divide(1456,33)
To assign a default value to a parameter, use assignment:
def connect(hostname,port,timeout=300): # Function body
When default values are given in a function definition, they can be omitted from subsequent function calls. For example:
connect('http://www.python.org', 80)
You also can invoke functions by using keyword arguments and supplying the arguments in arbitrary order. For example:
connect(port=80,hostname="http://www.python.org")
When variables are created or assigned inside a function, their scope is local. To modify the value of a global variable from inside a function, use the global statement as follows:
a = 4.5 ... def foo(): global a a = 8.8 # Changes the global variable a