Skip to content

Instantly share code, notes, and snippets.

@asimihsan
Last active April 18, 2017 15:37
Show Gist options
  • Save asimihsan/7752326 to your computer and use it in GitHub Desktop.
Save asimihsan/7752326 to your computer and use it in GitHub Desktop.
Python resources

Python resources

  • "Courses" are intended for learning Python via an online interactive course.
  • "Learning books" are intended for learning Python by reading them cover-to-cover.
  • "Reference books" are intended for dipping into randomly as you face particular problems in Python or in general.

All material are specified in order of preference (most to least); all of these are very good but some more than others if you're new to Python and programming in general.

Courses

  • Introduction to Computer Science (Udacity)
    • (pro) Introduction to Python that assumes no experience in programming.
    • (pro) Gentle, interactive, fun (you make a search engine!)
    • (pro) Not just an intro to Python. It touches upon deep and important concepts in computer science.
    • (pro) You get a certificate at the end that you can link to on your LinkedIn profile (this is done automatically, no typing needed).
    • (con) Some of the starred problems (one or two star) are very difficult; don't be discouraged if you don't get them the first time or can't do them at all.

Learning books

  • Think Python (O'Reilly, 2013)

    • (pro) Short-ish book (300 pages; for a learning book this is short!)
    • (pro) Very gradual pace
    • (pro) Comes with exercises
    • (pro) Is grouped into very sensible chapters, organised by data structure (list, tuple, ...), files, classes, etc.
    • (con) Not much emphasis on the Python standard library. This is more of a computer science book and less a "what Python gives you" book or "common Python idioms" book.
    • Particularly recommended content: all of it.
  • Problem Solving with Algorithms and Data Structures

    • (pro) A deep, thorough introduction to fundamental computer sciecne concepts via Python.
    • (pro) Interactive with visualisations. Helps to absorb the material.
    • (con) Assumes a solid basis in Python; the introduction recaps this material but is quite fast.
    • Particularly recommended content: Analysis, and Basic Data Structures (second and third chapters).
  • Python in Practice

    • (pro) A rare book that puts object oriented design up front and centre.
    • (con) Perhaps only useful to those who have also read e.g. "Head First Design Patterns".
    • Particularly recommended content: maybe read Head First Design Patterns and then look up the respective chapter here, rather than reading Python in Practice directly.

Reference books

  • Python Cookbook (O'Reilly, 2013)
    • (pro) Comprehensive. Just spinning through the table of contents it's clear many common day-to-day tasks are covered.
    • (pro) Common Python idioms are used. For example in "Reading and writing files" you are immediately told to use a context manager, no if's or but's.
  • Python Module of the Week
    • (pro) Not a book but a phenomenal and almost total reference for everything Python comes with.
    • (pro) Better than the Python reference docs when you need to kno "But how do I quickly start using this module?"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment