Paul Baumgarten

Computer Scientist, teacher, freelance programmer and self confessed geek

Learn Python

This represents my extensive and continually growing set of notes for learning the Python programming language. I use these notes extensively with my students and they are frequently updated. I welcome your feedback or suggestions on how they may be improved.

Supplemental to these notes, I have a range of Python videos on Youtube.

Get Python

Download and install Python from Run IDLE on your computer (recommended). Open your Windows Start menu, scroll down to "P", and open the Python sub menu, select the program called "IDLE" – make sure the version of Python starts with a 3.

Alternatively, use one of the online Python editors such as or These will allow you to try it out without installing anything on your computer.

The basics

This is the place to start if you are brand new to Python. I have introdutory videos, extensive review notes and practice problem sets to assist you on your programming journey.

  1. Variables and numbers
  2. Strings and casting
  3. Truth, if, else and while
  4. Lists and for-loops
  5. Functions
  6. Files
  7. Exceptions
  8. Dates and times
  9. Dictionaries

After you have completed the lessons, feel free to make use of my Python basics reference for beginners PDF that serves as a summary of the above topics.

Beyond the basics

If you know the basics of Python and wish to experiement with a new package or technique, look through the other tutorials to find something of interest to you.

Installing packages

# On the Mac 
sudo python3 -m pip install amazing_package
# On Windows
python -m pip install amazing_package


(C) Paul Baumgarten 2019