Elisha Tan is the Founder of Learnemy, a web application that finds you instructors for anything you want to learn.

Always wanted to build a web application but didn’t know where to start learning? I had the same problem too. I didn’t know what resource was good for newbies because I had no way to tell if I could understand the material or if the material gave me enough information to build an app.
So I’ve put together 10 good sites where you can pick up Python as a newbie without paying a single cent.
Note: Before you start learning, make sure you have a text editor and have Python installed. For text editor, I use Sublime Text on my Mac and Notepad++ on Windows. You can install Python by following the Python installation guide.
-
Dive into Python: This eBook sets a good groundwork for programming in Python by explaining common terms (string, variable, class etc.) and the general basics of Python. Plus it’s written in a conversational tone, which makes it very easy to read.
-
Invent Your Own Computer Games with Python: Learn Python by building games like Tic Tac Toe, Hangman and Reversi. This is the coolest guide ever!
-
Learn Python The Hard Way: This is one of the most popular books for learning Python. It is well written and it helps you learn by doing. Don’t skip the extra-credit exercises! I find they really help me understand Python better.
-
A Byte of Python: This book has been used at Harvard and even at NASA!
I like how it teaches by showing you the input and output codes before explaining how it works. -
Python Programming Tutorials: There are 43 short video tutorials in this course that explains the basic concepts of Python. It’s especially good for those with a short attention span!
-
The Python Tutorial: This is the official tutorial from the Python project. Although it has a lot of information, I found it a little confusing for a newbie.
-
Non-Programmer’s Tutorial for Python 3: A product of the WikiBooks (open source) project, this eBook teaches in similar way as #6, but it gives more explanation on each line of the input code.
-
Begin Python: Although this is not a course, it has plenty of exercises for you to practice Python on.




