## Value

A value is a single piece of data. It can be used as a literal or stored in a variable.

Examples:

• 45
• ”Liam”
• True
• 64.52
• [“apple”, “kiwi”, “pear”]

Variables can only contain values. So if it is contained within a variable - it is a value.

## Expression

An expression is an operation of values and/or variables that will result in a value.

Typically, you get a different value output than the input - as you are performing a mathematical operation usually (and most of the time you won’t be doing a * 1 operation).

Examples:

• 32 * 4
• 15 - 2
• 43 / 7
• 3 == 5
• ”hello” + “world”
• 4 > 2
• ”hello” * 4
• input(“What is your name? ”) * 6
• ((12 * 6) /4 ) + 8

Expressions are used to modify or compare values. They may contain a function call (ie, int(3.4) * 5 is still an expression).

Data Types do matter in expressions - so whilst you can multiply a string by an integer, you cannot divide a string by an integer.

So Bob * 4 is valid and results in “BobBobBobBob”

But Bob / 2 is not valid and will return an error.

A division operation will always return a float - even if the inputs were integers.

## Statement

A statement is any valid fragment of code. (A command, any line of code etc).

Examples:

• print(“Hello world”)
• import random
• 25 == 30
• if int(age) == 30:

Multiple types

Something can be or contain multiple types. So a statement may contain an expression which may then contain a value.

‎‎