Functions

From Training Material
Revision as of 19:58, 5 February 2013 by Kristian Rother (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


Structuring code with functions

A function is an autonomous sub-program with local variables, input and output. In Python, a function definition must be followed by a code block:

def calc_price(fruit,n):
'''Returns the price of fruits.'''
if fruit=='banana':
return 0.75 * n

# call the function
print calc_price('banana',10)

Parameters

Function parameters may have default values. In that case, they become optional.

Do not use lists or dictionaries as default values!

def calc_price(fruit,n=1):


print calc_prices('banana')
print calc_prices('banana',100)

Return values

A function may return values to the program part that called it. More than one value is returned as a tuple. In any case, the return statement ends the functions execution.

return 'banana',0.75

Good style for writing functions

  • Each function should have one purpose only.
  • A clear name starting with a verb.
  • A documentation string (with triple quotes).
  • One return type or one modified input object.
  • Necessary parameters.
  • Optional parameters.
  • Do not use global variables in a function.
  • Keep functions small (<100 lines).