Variables

Any Python interpreter can be used as a calculator:

Python
3 + 5 * 4

 

Output
23

 

This is great but not very interesting. To do anything useful with data, we need to assign its value to a variable. In Python, we can assign a value to a variable, using the equals sign =. For example, to assign value 60 to a variable weight_kg, we would execute:

Python
weight_kg = 60

 

From now on, whenever we use weight_kg, Python will substitute the value we assigned to it. In layman's terms, a variable is a name for a value.

In Python, variable names:

  • can include letters, digits, and underscores
  • cannot start with a digit
  • are case sensitive.

This means that, for example:

  • weight0 is a valid variable name, whereas 0weight is not
  • weight and Weight are different variables

 

Types of data

Python knows various types of data. Three common ones are:

  • integer numbers
  • floating point numbers, and
  • strings.

In the example above, variable weight_kg has an integer value of 60. To create a variable with a floating point value, we can execute:

Python
weight_kg = 60.0

 

Python
weight_kg_text = 'weight in kilograms:'

 

Using Variables in Python

To display the value of a variable to the screen in Python, we can use the print function:

Python
print(weight_kg)

 

Output
60.0

 

We can display multiple things at once using only one print command:

Python
print(weight_kg_text, weight_kg)

 

Output
weight_kg_text = 'weight in kilograms: 60.0

 

Moreover, we can do arithmetic with variables right inside the print function:

Python
print('weight in pounds:', 2.2 * weight_kg)

 

Output
weight in pounds: 132.0

 

The above command, however, did not change the value of weight_kg:

Python
print(weight_kg)

 

Output
60.0

 

To change the value of the weight_kg variable, we have to assign weight_kg a new value using the equals = sign:

Python
weight_kg = 65.0
print('weight in kilograms is now:', weight_kg)

 

Output
weight in kilograms is now: 65.0

 

Variables as Sticky Notes

A variable is analogous to a sticky note with a name written on it: assigning a value to a variable is like putting that sticky note on a particular value.

This means that assigning a value to one variable does not change values of other variables. For example, let's store the subject's weight in pounds in its own variable:

Python
# There are 2.2 pounds per kilogram
weight_lb = 2.2 * weight_kg
print(weight_kg_text, weight_kg, 'and in pounds:', weight_lb)

 

Output
weight in kilograms: 65.0 and in pounds: 143.0

 

 

Python
weight_kg = 100.0
print('weight in kilograms is now:', weight_kg, 'and weight in pounds is still:', weight_lb)

 

Output
weight in kilograms is now: 100.0 and weight in pounds is still: 143.0

 

 

Since weight_lb doesn't "remember" where its value comes from, it is not updated when we change weight_kg.

 


Source: The Carpentries, https://swcarpentry.github.io/python-novice-inflammation/01-intro/index.html
Creative Commons License This work is licensed under a Creative Commons Attribution 4.0 License.

Last modified: Thursday, 14 January 2021, 1:28 PM