Below is the reference guide to Python that I wish had existed when I was learning the language.
Here’s what I want in a reference guide:
-
High-quality examples that show the simplest possible usage of a given feature
-
Explanatory comments, and descriptive variable names that eliminate the need for some comments
-
Presented as a single script (or notebook), so that I can keep it open and search it when needed
-
Code that can be run from top to bottom, with the relevant objects defined nearby
This is not written as a full-fledged Python tutorial, though I ordered the topics such that you can read it like a tutorial (i.e., each topic depends only on material preceding it).
The guide was written using Python 2 but is fully compatible with Python 3. Relevant differences between Python 2 and 3 are noted throughout the guide.
View/Download the Reference Guide
You can view it as a Python script on GitHub. It’s also embedded below this blog post.
You can view it as a Jupyter notebook on nbviewer.
If you want to save a copy of either the script or the notebook, just clone or download the GitHub repository.
Table of Contents
Click to jump to the relevant section of the script or the notebook:
-
Imports (script, notebook)
-
Data Types (script, notebook)
-
Math (script, notebook)
-
Comparisons and Boolean Operations (script, notebook)
-
Conditional Statements (script, notebook)
-
Lists (script, notebook)
-
Tuples (script, notebook)
-
Strings (script, notebook)
-
Dictionaries (script, notebook)
-
Sets (script, notebook)
-
Defining Functions (script, notebook)
-
Anonymous (Lambda) Functions (script, notebook)
-
For Loops and While Loops (script, notebook)
-
Comprehensions (script, notebook)
-
Map and Filter (script, notebook)
Other Python Resources
If you like the general format of this guide, but need more explanation of each topic, I highly recommend reading the Appendix of Python for Data Analysis. It presents the essentials of the Python language in a clear and focused manner.
If you are looking for a resource that will help you to learn Python from scratch, this is my list of recommended resources.
Suggestions or Corrections
If there’s a topic or example you’d like me to add to this guide, or you notice a mistake, please create a GitHub issue or let me know in the comments section below!
My quick reference guide to #python 2.7 in a single script: https://t.co/nmWy2PetIG Do you like the format? Topic suggestions are welcome! Kevin Markham (@justmarkham) September 23, 2015