3.1.1

Subroutines

Test yourself

Subroutines

A subroutine is a named block of code within your program.

Illustrative background for Advantages of subroutinesIllustrative background for Advantages of subroutines ?? "content

Advantages of subroutines

  • Easier to read:
    • There are fewer long blocks of code to understand.
  • More efficient:
    • Blocks of code can be written once and reused many times.
  • More reliable:
    • Each subroutine can be individually tested to ensure it works.
Illustrative background for Parameters and argumentsIllustrative background for Parameters and arguments ?? "content

Parameters and arguments

  • Parameters are special variables used to pass values into a subroutine.
  • Arguments are the actual values that are passed in.
Illustrative background for Types of subroutineIllustrative background for Types of subroutine ?? "content

Types of subroutine

  • A function is a subroutine which returns a value.
  • A procedure is a subroutine which does not return a value.

Scope

The scope of a variable is the group of areas of the code from which it can be accessed.

Illustrative background for Local scopeIllustrative background for Local scope ?? "content

Local scope

  • A variable defined within a subroutine will have local scope.
  • This means that they can only be accessed within that subroutine.
Illustrative background for Global scopeIllustrative background for Global scope ?? "content

Global scope

  • A variable can be made global by adding the 'global' keyword in front of it when it is first used.
  • Global variables may be accessed by any part of the whole program.

What Should be in a Subroutine?

Subroutines are key to maintainable code, but must be used correctly.

Illustrative background for Good ideas for subroutinesIllustrative background for Good ideas for subroutines ?? "content

Good ideas for subroutines

  • Subroutines should include single processes only.
  • Subroutines should ideally be designed so that they can be reused in multiple parts of code, both within and outside of your program.
  • Good examples of subroutines include:
    • Calculating the sum of a list.
    • Finding a largest element of a list.
    • Opening a specific part of an application.
Illustrative background for Bad ideas for subroutinesIllustrative background for Bad ideas for subroutines ?? "content

Bad ideas for subroutines

  • Subroutines should not be used for very long processes
  • Subroutines should be split into multiple subroutines so that they don’t often exceed about 30 lines of code.
  • Bad examples of subroutines include:
    • The whole application.
    • A very specific, and non-reusable piece of code.

Jump to other topics

1Introduction to Python

2Data Structures

2.1Lists & Strings

2.2File Handling

3Modularity

3.1Subroutines

3.2Data Flow

4Good Practice

4.1Naming & Whitespace

4.2Comments

4.3Exceptions

Go student ad image

Unlock your full potential with GoStudent tutoring

  • Affordable 1:1 tutoring from the comfort of your home

  • Tutors are matched to your specific learning needs

  • 30+ school subjects covered

Book a free trial lesson