# 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:

## 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)



## 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)

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.
Code preview
Feedback 👍
Comments are sent via email to me.