Top 8 Free Resources to Learn Python
Tags: python, books, beginners, resources
Published: 2020-07-09 00:59:14

It’s an exciting time to learn anything, especially Python. There are several Python resources available online including books, video tutorials and courses. If one wants to learn Python the traditional way using a book, there are great free books available online as well. This article lists some of those resources along with the intended audience.  

<h2>Why Python?</h2> 

Here are some of the compelling reasons to learn Python:

* Python is one of the best languages to get started programming with. It does not have a steep learning curve. When compared to other programming languages, it is easier to learn the basics and be productive relatively quickly. 
* Python is highly versatile. It has lots of use cases like scripting, data analysis, web development, data science, machine learning, artificial intelligence and much more.
* Developers with Python skills are in high demand.
* There are several resources available that teach Python for absolute beginners which is harder to find if one wants to learn any other programming language with no prior experience.

<h2><a href="https://automatetheboringstuff.com/">1. Automate the Boring Stuff with Python</a></h2>

This book explains the fundamental concepts and assumes no other programming language experience. What I like most about this book is once fundamental concepts are covered, readers are introduced with practical use case concepts such as web scraping, working with PDF files etc. Also, the author has several game programming related books that are open-source.   

<h2><a href="https://www.py4e.com/book">2. Python for Everybody</a></h2>
This is another great book written by a university professor. This book again assumes no prior programming experience and also covers Object Oriented Programming (OOP) concepts in Python. Same author has an <a href="https://www.edx.org/course/programming-for-everybody-getting-started-with-pyt">Edx course</a> which can be taken for free but requires a fee for a verified certificate.  

<h2><a href="https://greenteapress.com/wp/learning-with-python/">3. Think like a computer scientist - Learn with Python</a></h2>
Another great book that assumes no prior programming experience. This book not only covers fundamental concepts but also covers some of the OOP concepts using Python, advanced data structures such as Queues, Linked Lists and Trees.

<h2><a href="https://learnpythonthehardway.org/python3/">4. Learn Python the hard way</a></h2>

This book’s chapters are written as a series of programming exercises stressing the point that writing actual programs is the best way to learn a new programming language.

<h2><a href="https://python.swaroopch.com/">5. A Byte of Python</a></h2>
This is another great open source book that assumes no other programming language experience. All of the Python’s core features are explained including mention and usage of some of the standard libraries. 

<h2><a href="https://diveintopython3.net/index.html">6. Dive Into Python 3</a></h2>
This book covers several advanced concepts such as comprehensions, closures, generators, iterators. Definitely worth a read to get a grasp of several advanced Python concepts.

<h2><a href="https://docs.python-guide.org/">7. The Hitchhiker’s Guide to Python!</a></h2>
This book starts with Python installation instructions but covers a range of  topics such as setting up Python Virtual Environment, Coding Style, Best Practices, Documentation. Definitely worth taking a look.  

<h2><a href="https://developers.google.com/edu/python">8. Google’s Python Class</a></h2>

Last but not least, Google’s python class is worth a mention. This class covers Python 2. But many concepts are still relevant to Python 3. This course also has a set of accompanying lectures taught by a Google employee which are highly engaging. 


Hope you found these resources helpful!