# Variables

Programming basics[1]

The official definition: in computer programming, a variable is a storage location paired with an associated symbolic name (an identifier) which contains a value.[2]

In other words, a variable is a storage location for data. Variables have names. Some computer language mandate you assign a data type to variables. When asked for the "official definition" (or best definition) please use the definition stated above.

Different programming languages assign variables in different ways. In general, though, there are three parts to setting a variable:

```IDENTIFIER of the variable   | an ASSIGNMENT OPERATOR  | the VALUE of the variable
```

for example:

```AGE = 17
```

In the example above, the IDENTIFIER of the variable is "AGE". The assignment operator is = and the VALUE of the variable is 17.

### Variables in Python

```name = "Mr. MacKenty"
position  = "Teacher"

# in the example above, we have a variable with the identifier "name" and it has been assigned a '''value''' of "Mr. MacKenty"
# there is also a variable with the identifier "position" and the value of that variable is "Teacher". In memory, a section of memory has been reserved for a variable with the identifiers "name" and "position".

# variables can change. For example, if we wanted to change the variable position, we could simply:

position = "New Teacher"

# now the value of "position" is "New Teacher".
```

## Naming variables

W3 schools has a nice simple list to help use understand the rules for naming variables[3]

• A variable can have a short name (like x and y) or a more descriptive name (age, carname, total_volume).

Rules for Python variables:

• A variable name must start with a letter or the underscore character
• A variable name can only contain alpha-numeric characters and underscores (A-z, 0-9, and _ )
• Variable names are case-sensitive (age, Age and AGE are three different variables)