Useful Python Learning Resources

In addition to the material we cover in class, there are numerous online resources to help a newcomer get to know Python. The following list represents the best-known and best-regarded of the breed. If you are itching for a bit more work on your Python chops, you should try these out.

Python Language Resources

As a Python programmer, you’ll want to keep a bookmark pointed at the official Python documentation (https://docs.python.org/3/), especially the documentation for the standard library (https://docs.python.org/3/library/index.html). However, there are a number of additional resources you can (and should) use to help build your Python chops.

For the beginner

Next Steps

  • New Coder (http://newcoder.io): Advertised as “Five lifejackets to throw to the new coder”, this site offers five very interesting tutorials written in an engaging style. Not an introduction. More a second step.
  • OpenHatch (https://openhatch.org/wiki/Intermediate_Python_Workshop/Projects): The Open Hatch project offers a number of workshops with well-paced intermediate tutorials for Python programming. A great place to go once you have the basics down and are ready for more challenging work.

Evaluating Your Options

The blurbs above are short descriptions of the material in each resource. We’ve drawn them both from our own usage of the various tools, and from a wonderful set of online reviews:

(http://planningadinner.blogspot.com/search/label/So%20you%20want%20to%20learn%20Python.%20What%27s%20next%3F)

done by Marta Maria Casetti on her blog, “Planning a Dinner” (http://planningadinner.blogspot.com/).

The poster she presented at PyCon 2014 (http://planningadinner.blogspot.com/2014/04/the-poster.html) as a result of that research offers some great hints about the aspects of Python programming best covered by each resource. I would urge any new student of Python to take the time to look over this poster to help determine the best path forward for themselves.

iPython Interpreter Resources

iPython is an enhanced interpreter that makes interactive experimentation at the command line much more pleasant and powerful.