Learning Python – Novice Beginner Level

This guide will take you through the basics of Python. You will need to learn these in order to become familiar with the language, syntax, and its constructs. This guide will list you the resources, links for particular topics, books and online MOOC based courses that you can take, in the beginning of your journey to learn and master Python.

Learn Python The Hard Way:

– The best book to start off learning python.

– Very straight forward.

– Very simple to understand.

– Just type the code snippets in the book as instructed and follow the tasks that the author asks you to do thereafter.

– Python docs will help a great deal with respect to this book in doing the tasks given after every chapter, that you need to complete before moving on to the next.

– Python 2 is still the stable version. Python 3 is not yet completely stable and doesn’t offer the stability and support for all the APIs and libraries that the versions 2.x offers.

In many exercises, the author will ask you to google the questions, do as he says. It doesn’t matter whether you are using Mac or Windows or Linux. In the case of Windows, use the default notepad, in the case of Mac, use the default text editor. Coding this way will train you to apply and follow default Python coding conventions and it will often lead to following best practices naturally.

For 3/4th of this book, you can use the following resources as an alternative, or you can use both concurrently to improve your understanding of Python from different perspectives.

Alternatives To The Hard Way Book:

Introduction To Computer Science With Python – Udacity Course
Programming Foundations With Python – Udacity

The two links provided above are both Udacity courses. If you don’t want to pay, that’s fine. You need just the knowledge of Python. You can access the course materials for free. Just sign up there and access the course videos & the interactive materials provided. You will learn quite a great deal of stuff there. You can also do the projects they have given – developing a search engine and a web-app. It’s a great way to learn Python. The best way to learn Python is the one promoted by the book as well as these courses – learning by doing. I will never advocate rote learning everything upfront and then trying to apply it to something. You learn a great deal by starting small, doing things step by step. You learn a concept, you practice that concept with an example code, you fix the errors, you learn a heck lot of things that way.

Take this coursera course first – Python For Everybody

if you are going to start off with python using that course – this course covers the basics with an awesome amount of attention to detail. This course is one among the best ways to start off with.

Interactive Programming In Python – Part 1
Interactive Programming In Python – Part 2

As far as I know, either the book or the courses I have mentioned in Udacity/Coursera works great to cover the basics of Python.

What works for me may or may not work for the others. So, in this series, I will provide my recommendations, with the best other alternatives for the same, and also every awesome available resource for the same content. You can check them out and choose for yourself.

If you feel overwhelmed by the amount of resources that you have at your disposal and you are confused by which ones to choose, choose the ones I suggest – and I am sure that you will not be disappointed. 

The following section contains the topics you should learn and master in Python Programming in the beginner level. These topics will cover all the essential basics that one should know.


a) Statements, Expressions & Variables:

Compact references:

GreenTeaPress – Chapter-2 Variables, Statements & Expressions
Python For Informatics Chapter-2 Variables, Expressions & Statements

I found a really neat explanation here:

How to think like a computer scientist – Chapter 2 – Variables, expressions, statements
Interactive Python – Introduction to Variables, Expressions & Statements

Other references:

Python Variables & types – Tutorials Point
Python Basic Syntax & Statements – Tutorials Point
Python Project – Chapter-2

b) Functions

Compact references:

ZetCode – Functions in Python
Wikibooks – Defining Functions in Python
Python Docs – Defining Functions

I found a really neat explanation here:

Hands On Python Tutorial – Defining Functions & Syntax
Steven Thurlow – Functions in Python

Other references:

Python Functions – Tutorials Point
Learn Python Org – Functions

c) Logic & Conditionals

Compact references:

How to think like a computer scientist – Python Conditional Execution

I found a really neat explanation here:

OpenBook Project – Conditionals

Other references:

Logical Operators – Tutorials Point
Decision Making – Tutorials Point
Pearson – Flow of Control In Python

d) Local & Global Variables

Compact references:

Python Course – Global Vs Local Variables
Dive Into Python – Locals & Globals

A neat explanation here:

Stackoverflow – Explanation – Local and Global Variables

Other References:

Python Docs – Rules for local and global variables

e) Loops:

Compact reference:

Python Docs – Looping Techniques

A neat explanation here:

Learn Python Org – Loops
Hands On Python Tutorial – Beginning with Loops

Other References:

Python Loops – Tutorials Point

f) Classes & Objects:

Compact reference:

Improve your Python Classes and Object Oriented Programming

Really neat explanation here:

Learn Python Org – Classes and Objects
Python Practice Book – Object Oriented Programming
Steven Thurlow – Classes Introduction
Python Course – Inheritance Example

Other References:

Python Course – Object Oriented Programming
Python Classes and Objects – Tutorials Point
Introduction to Classes and Inheritance in Python

g) Basic Data Structures:


Compact Reference:

Python Docs – Lists
Python Docs – More On Lists

Really neat explanation here:

Effbot Org – Python Lists

Other References:

Python Lists – Tutorials Point
Learn Python Org – Lists

Tuples and Sequences:

Compact Reference:

Python Docs – Tuples and Sequences

Really neat explanation here:

Think like a computer Scientist – Tuples

Other References:

Think Python – Tuples
Stackoverflow – Difference between Lists, Sequences & Slice in Python


Compact Reference:

Python Docs – Sets
Learn Python Org – Sets

Really neat explanation here:

DotNetPearls – Python Sets
Wikibooks – Python Programming Sets

Other References:

Python Course – Sets and Frozen Sets


Compact Reference:

Python Docs – Dictionaries
Steven Thurlow – Dictionaries in Python

Really neat explanation here:

DotnetPearls – Dictionaries in Python
Python For Beginners – Dictionary
After Hours Programming – Python Dictionaries

Other References:

Dictionaries – Python
Think Python – Dictionaries
Python Dictionary implementation/

h) I/O:

Compact Reference:

Python Docs – I/O

Really neat explanation here:

Interactive Python – Input and Output
Hands On Python – I/O
Steven Thurlow – Python Input/Output/

Other References:

Python Files I/O – Tutorials Point

i) Files

Best Explanation here:

Python For Beginners – Reading and Writing files in Python
Writing to Files
Reading from Files

Compact Reference:

Working With Files

Other References:

Dive Into Python – File Handling

j) Exceptions

Compact Reference:

Python Docs – Errors and Exceptions
Dive Into Python – File & Exception Handling/

Really neat explanation here:

Handling Exceptions – Python
Python Exception Handling Techniques

Other Reference:

Python Exceptions – Tutorials Point
Python Course – Exception Handling

Books You Can Refer:

a) Learning Python by Mark Lutz:

This is another awesome book. If you use this book after you have gone through Learn Python The Hard Way book, it will be the best guide for you. Even if you are starting off with this book, you will find it easy to start from scratch.

b) The Python Standard Library By Example

This is a book that some of my open source programmer-friends used to suggest me when I started off with Python. This book will help you learn the Python Standard Library with examples for everything in it. It would help you if you have the basics of python and syntax level knowledge covered before you start with this book.

This is a book for beginners by Swaroop C H. “If all you know about computers is how to save text files, then this is the book for you,” the site says. It’s been used in several academic programs, such as the UC Davis course, and by the NASA Jet Propulsion Laboratory. It’s available for both Python 2.X and 3.0, but only the 3.0 version is still updated. A hard copy version is available.

d) Non-Programmer’s Tutorial for Python 2.6 and on-Programmer’s Tutorial for Python 3

These are both the products of the WikiBooks project. They are simple and easy to understand and cover all the details in a concise manner.

e) The Python Tutorial

This the official tutorial from the Python project. It’s used in the MIT course. You can find a tutorial for Python 2.7 here and for 3.0 here.

f) Think Python: An Introduction to Software Design

This book was written by Allen B. Downey an Associate Professor of Computer Science at the Franklin W. Olin College of Engineering. It’s is available in multiple formats, including a hard copy, here. It was written before Python 3.0, but has been updated with footnotes to explain discrepancies.

Web Sites and Courses You Can Refer:

a) The New Boston Channel:

b) Python Docs Tutorial

c) Python Course

d) Learn Python Online Book

e) Learn Python Org Tutorials

f) Zet Code Tutorials Python

g) Interactive Python Tutorials – With Online Compiler

h) Think Python Book Online

i) Hands On Python Tutorial

j) How to think like a computer scientist

Loading Facebook Comments ...

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>