Part 3.1Procedures in Python

Procedures

Python, like many scripting syntaxes, has just one procedure declaration format.

Often called a procedure, a function, a subroutine or a subprogram, it is a division of code that is separated from the rest. A procedure is a way of organising code to perform one particular function. For instance, (in an abstract example), a procedure could be used to turn on a light bulb or to turn off a plug socket. When it is needed, it is run (called). The part that gives the procedure a name and parameters is called the procedure signature. Below is a simple diagram that explains the procedure structure:

Procedure

Defining a procedure

Below is an example procedure:

Python
def main():
  print ("Hello world")
    

Procedures can however, return a value. If a procedure returns a value, the value that it gives back can be used elsewhere.

Returning a value

A procedure that returns, or gives back, a value can be known as a function, since it's actions mimic that of a mathematical function:

A ⇒ B

In this example, A is an input the arrow is the process and B is the output. For every input there is exactly one output.

A function returning a value looks like the following sample:

Python
def main():
  return "Hello world"
    

With this, assigning the function call to a variable will give the variable the value "Hello world".

Calling a procedure

A procedure can be called through a very simple syntax. Arguments are also given to procedure calls within the brackets - these line up with parameters specified in the procedure signature.

Python
def main():
  print ("Hello world")

main()
    

The previous sample will call the procedure named main. It will also provide no arguments to the call.

A procedure with parameters can be called by inserting values in the positions of those parameters with arguments:

Python
def add(n1, n2):
  print (n1 + n2)

add(4, 7)
    

Recursion

Recursion is a big part of learning to program efficently and it is basically a procedure calling itself over and over again until a termination condition (base case) is met. Recursion can be used to multiply two numbers by simply using addition.

Python
def multiply(n1, n2, total):
if n2 == 0:
return n1 else: total = multiply(n1, n2 - 1, total) return total + n1 print(multiply(4, 3, 0))

Here is what happens in this program:

  • multiply(4, 3, 0) calls multiply (4, 2, 0)
  • multiply(4, 2, 0) calls multiply (4, 1, 0)
  • multiply(4, 1, 0) calls multiply (4, 0, 0)
  • multiply (4, 0, 0) then returns 0 + 4 (4) to multiply(4, 1, 0)
  • multiply (4, 1, 0) then returns 4 + 4 (8) to multiply(4, 2, 0)
  • multiply (4, 2, 0) then returns 8 + 4 (12) to multiply(4, 3, 0)
Recursion is something that to understand, one must first understand recursion. For more information on recursion, look at recursion.
Feedback 👍
Comments are sent via email to me.