Variables and Assignment

Overview

Teaching: 10 min
Exercises: 10 min
Questions
  • How can I store data in programs?

Objectives
  • Write programs that assign values to variables and perform calculations with those values.

  • Correctly trace value changes in programs that use assignment.

Use variables to store values.

(Adams was ready for occupancy December 2, 1938. So we’ll say it’s 81. )

building = 'Adams'
age = 81

Use print to display values.

print(building, 'is', age, 'years old')
Adams is 81 years old

Variables must be created before they are used.

print(num_floors)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-1-c1fbb4e96102> in <module>()
----> 1 print(num_floors)

NameError: name 'num_floors' is not defined

Variables Persist Between Cells

Variables defined in one cell exist in all other cells once executed, so the relative location of cells in the notebook do not matter (i.e., cells lower down can still affect those above). Remember: Notebook cells are just a way to organize a program: as far as Python is concerned, all of the source code is one long set of instructions.

Variables can be used in calculations.

age = age + 3
print('Age in three years:', age)
Age in three years: 84

Use an index to get a single character from a string.

(My example is for Field guide to the wildlife of Costa Rica)

call_num = 'QL228.C8 H46 2002'
print(call_num[0])
Q

Use a slice to get a substring.

print(call_num[0:4])
QL228

Use the built-in function len to find the length of a string.

print(len('Laura'))
7

Python is case-sensitive.

Slicing

What does the following program print?

lib_name = 'Library of Congress'
print('lib_name[1:3] is:', lib_name[1:3])
  1. What does lib_name[low:high] do?
  2. What does lib_name[low:] (without a value after the colon) do?
  3. What does lib_name[:high] (without a value before the colon) do?
  4. What does lib_name[:] (just a colon) do?
  5. What does lib_name[number:negative-number] do?

Solution

library_name[1:3] is: ib
  1. It will slice the string, starting at the low index and ending an element before the high index
  2. It will slice the string, starting at the low index and stopping at the end of the string
  3. It will slice the string, starting at the beginning on the string, and ending an element before the high index
  4. It will print the entire string
  5. It will slice the string, starting the number index, and ending a distance of the absolute value of negative-number elements from the end of the string

Key Points

  • Use variables to store values.

  • Use print to display values.

  • Variables persist between cells.

  • Variables must be created before they are used.

  • Variables can be used in calculations.

  • Use an index to get a single character from a string.

  • Use a slice to get a substring.

  • Use the built-in function len to find the length of a string.

  • Python is case-sensitive.

  • Use meaningful variable names.