An Outline to Mastery Python – Book Think Python

Learn Python

Recently I came across a wonderful book to learn python, Think Python by Allen B. Downey. Which has a great outline to follow on your way to mastery Python from zero. Also this outline is applicable for any programming language.


  • Installing Python or start on online environment like
  • Run your first program
  • Arithmetic operators
  • Values and Types
  • Formula and natural language

Variables, expressions and statements

  • Assignment statements
  • Variable names
  • Expressions and statements
  • Script mode
  • Order of operations
  • String operations
  • Comments


  • Function calls
  • Math functions
  • Composition
  • Adding new functions
  • Definitions and uses
  • Flow of execution
  • Parameters and arguments
  • Variables and parameters are local
  • Stack diagram
  • Fruitful functions and void functions
  • Why functions

Case Study: Interface Design

  • A turtle module
  • Simple repetition
  • Exercises
  • Encapsulation
  • Generalization
  • Interface design
  • Rafactoring
  • A development plan
  • Docstring

Conditionals and recursion

  • Floor division and modulus
  • Boolean expressions
  • Logical operators
  • Conditional execution
  • Alternative execution
  • Chained conditionals
  • Nested conditionals
  • Recursion
  • Stack diagrams for recursive functions
  • Infinite recursion
  • Keyboard input

Fruitful functions

  • Return values
  • Incremental development
  • Composition
  • Boolean functions
  • More recursion
  • Leap of faith
  • One more example
  • Checking types


  • Reassignment
  • Updating variables
  • The while statement
  • break
  • Square roots
  • Algorithms


  • A string is a sequence
  • len
  • Traversal with a for loop
  • String slices
  • Strings are immutable
  • Searching
  • Looping and counting
  • String methods
  • The in operator
  • String comparison

Case study: word play

  • Reading word lists
  • Exercises
  • Search
  • Looping with indices


  • A list is a sequence
  • Lists are mutable
  • Traversing a list
  • List operations
  • List slices
  • List methods
  • filter and reduce
  • Deleting elements
  • Lists and strings
  • Objects and values
  • Aliasing
  • List arguments


  • A dictionary is a mapping
  • Dictionary as a collection of counters
  • Looping and dictionaries
  • Reverse lookup
  • Dictionaries and lists
  • Memos
  • Global variables


  • Tuples are immutable
  • Tuple assignment
  • Tuples as return values
  • Variable-length argument tuples
  • Lists and tuples
  • Dictionaries and tuples
  • Sequences of sequences

Case study: data structure selection

  • Word frequency analysis
  • Random numbers
  • Word histogram
  • Most common words
  • Optional parameters
  • Dictionary subtraction
  • Random words
  • Markov analysis
  • Data structures


  • Persistence
  • Reading and writing
  • Format operator
  • Filenames and paths
  • Catching exceptions
  • Databases
  • Pickling
  • Pipes
  • Writing modules

Classes and objects

  • Programmer-defined types
  • Attributes
  • Rectangles
  • Instances as return values
  • Objects are mutable
  • Copying

Classes and functions

  • Time
  • Pure functions
  • Modifiers
  • Prototyping versus planning

Classes and methods

  • Object-oriented features
  • Printing objects
  • Another example
  • A more complicated example
  • The init method
  • The __str__ method
  • Operator overloading
  • Type-based dispatch
  • Polymorphism


  • Card objects
  • Class attributes
  • Comparing cards
  • Decks
  • Printing the deck
  • Add, remove, shuffle and sort
  • Inheritance
  • Class diagrams

Login or subscribe and download the book from the download page.

89 thoughts on “An Outline to Mastery Python – Book Think Python”

  1. You made a few fine points there. I did a search on the matter and found the majority of persons will have the same opinion with your blog. Leese Pinchas Quintana

  2. I’m not sure where you’re getting your info,
    but good topic. I needs to spend some time learning much more
    or understanding more. Thanks for excellent information I was looking for this info for
    my mission.

  3. Hello there, just became aware of your blog through Google, and found that
    it is truly informative. I am gonna watch out for
    brussels. I will be grateful if you continue this in future.
    A lot of people will be benefited from your writing.


  4. Hmm is anyone else having problems with the pictures on this blog loading?
    I’m trying to figure out if its a problem on my end or if it’s the blog.
    Any suggestions would be greatly appreciated.

  5. My spouse and I stumbled over here different web page and thought I might check things out.
    I like what I see so now i’m following you. Look forward to
    looking into your web page yet again.

  6. I was excited to find this great site. I wanted to thank you for ones time just for this fantastic read!! I definitely savored every part of it and I have you saved to fav to check out new information on your website. Inez Foss Garber

  7. Wow, awesome blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your web site is excellent, let alone the content! Marylynne Herold Sergio

  8. Yes you are correct, truly PHP is a open source and its help we can take free from any community or website since it happens here at this web site. Jolyn Chariot Flowers

  9. thanks for the chance, i am a 4th year outstanding student at Addis Ababa University natural science stream studying biology. i will get my first degree just after four months from now. This is thus to ask your advise on how to get a master level study under your program. Min Brigg Jamilla

  10. You made some good points there. I checked on the web to learn more about the issue and found most people will go along with your views on this site. Nichole Gearalt Jayson

  11. I loved as much as you will receive carried out right here.

    The sketch is attractive, your authored subject matter
    stylish. nonetheless, you command get bought an impatience over that you wish be delivering the following.
    unwell unquestionably come more formerly again as exactly the same nearly a
    lot often inside case you shield this hike.

  12. Thanks , I have just been searching for information approximately this subject for a while and yours is the best
    I’ve found out till now. But, what in regards to the bottom line?
    Are you certain about the supply?

  13. Tremendous things here. I am very satisfied to look your post.

    Thank you so much and I am looking ahead to touch you.
    Will you kindly drop me a e-mail?

  14. Its such as you read my mind! You appear to grasp
    so much approximately this, such as you wrote the e-book in it or something.
    I think that you simply could do with some percent to drive the
    message house a bit, but instead of that, this is magnificent blog.

    A great read. I’ll definitely be back.

  15. of course like your web site but you need to test the
    spelling on quite a few of your posts. A number of them are rife with spelling
    problems and I in finding it very troublesome to inform the reality
    however I’ll surely come again again.

  16. І’m now not sure where you’re getting your info, but great topic.
    I needs to spend a while studying muc more or ᥙnderstanding more.
    Thɑnks for ցreat іnfo I ued to be lookng for this information for my missіon.

  17. Its like you read my mind! You appear to know so much
    about this, like you wrote the book in it or something. I think that you can do with some pics
    to drive the message home a little bit, but other than that, this is magnificent
    blog. A fantastic read. I will definitely be back.

  18. After going over a few of the articles on your website, I really like your way of
    writing a blog. I added it to my bookmark site list and will be checking
    back in the near future. Please check out
    my website too and let me know what you think.

  19. Greetings, I do think your website might be having browser
    compatibility problems. Whenever I look at your web site in Safari, it looks fine
    however, when opening in I.E., it has some overlapping issues.
    I simply wanted to provide you with a quick heads up!

    Besides that, fantastic site! games ps4 allenferguson games ps4

  20. I simply could not depart your web site before suggesting that
    I extremely enjoyed the usual information an individual supply for your guests?

    Is going to be back ceaselessly in order to check out new posts

  21. Whats up are using WordPress for your blog platform? I’m new to the blog world but I’m
    trying to get started and set up my own. Do you
    require any html coding expertise to make your own blog?
    Any help would be really appreciated!

  22. Wonderful blog! I found it while surfing around on Yahoo News.
    Do you have any tips on how to get listed
    in Yahoo News? I’ve been trying for a while but I never seem to get there!

    Thanks asmr 0mniartist

  23. Great blog! Do you have any suggestions for aspiring writers?
    I’m hoping to start my own blog soon but I’m a little lost on everything.
    Would you propose starting with a free platform like WordPress or go for a paid option? There are so many choices out there that I’m totally confused ..
    Any recommendations? Appreciate it! asmr 0mniartist

  24. I’m gone to say to my little brother, that he should also pay a visit this webpage on regular basis to obtain updated from newest gossip.
    asmr 0mniartist

  25. Hello! I just wanted to ask if you ever have any trouble with hackers?
    My last blog (wordpress) was hacked and I ended up losing several weeks of hard
    work due to no back up. Do you have any solutions to
    prevent hackers?

  26. Howdy! This post couldn’t be written any better!
    Going through this article reminds me of my previous roommate!
    He continually kept talking about this. I most certainly will send this
    article to him. Pretty sure he’s going to have
    a very good read. Thanks for sharing!

  27. Your way of describing everything in this piece of writing is
    actually fastidious, every one be able to effortlessly know it, Thanks a

  28. First off I want to say great blog! I had a quick question in which I’d like
    to ask if you don’t mind. I was curious to find
    out how you center yourself and clear your mind before writing.
    I have had a tough time clearing my mind in getting my thoughts out.
    I truly do take pleasure in writing but it
    just seems like the first 10 to 15 minutes are generally wasted simply just trying to
    figure out how to begin. Any suggestions or hints? Many

  29. Hi, I do think this is an excellent site. I stumbledupon it 😉 I’m going to return yet again since i have saved as a favorite it.
    Money and freedom is the best way to change, may you be
    rich and continue to guide others.

  30. I all the time used to study paragraph in news papers but now
    as I am a user of web thus from now I am using net for articles, thanks to web.

Leave a Comment

Your email address will not be published.