The Best Resources for Learning Python
Tags: python
Published: 2021-04-08 09:13:38

Python is a powerful and versatile programming language. If you are looking for resources to help you start or advance your Python programming skills, this post is for you!

One of the benefits of Python is that it is widely used, so there are always new and useful resources popping up. Whether these are tutorials, courses, books, or other resources, you can see a few of our favorites below.

## Why Python?

There are a number of reasons why Python is a great language to learn (for web development). 

* **Python is easy to learn**. 

Unlike other languages, which require you to memorize a lot of arcane rules, Python has very few of them. 

This makes it easier for beginners to get started on the right foot, but also allows experienced developers to focus on more important issues.

* **Python is dynamic**. 

It allows you to easily adapt an existing program to meet changing conditions in the real world. Other languages require you to carefully plan how your software will react before you even begin writing it. 

In Python, you can try things out as you write the program, and if they don’t work out, you can change them as you go.

* **Python is immediately useful**. 

You can use it for everything from writing simple scripts to creating stunningly complex software systems that run on thousands of machines all over the world.

You can use it for [GUI programming](https://pythonpyqt.com/), [data visualization](https://pythonbasics.org/matplotlib-bar-chart/), [web apps](https://python-commandments.org/flask-crud/) and a lot more!

* **Easy to deploy online**

Web apps made in Python are incredibly easily to [deploy online](https://www.pythonanywhere.com/?affiliate_id=00535ced). This lets you focus on your web app instead of sysadmin tasks.

## Basics & Tutorials

Python has its own [official documentation](https://www.python.org/doc/) that is very beginner-oriented and simple to read. It will provide you with an understanding of all of the basic Python constructs. However, it's a little dry / boring to read.

There are lots of Python tutorials on the web that you can read for free.

[pythonbasics](https://pythonbasics.org) is a beginner-friendly introduction to Python. If you're a complete beginner, this is a great place to start.

[pythonspot](https://pythonspot.com) this one covers many different modules and how to use them with Python. 

[pythonlang](https://pythonprogramminglanguage.com) a resource that has helped me understand Machine Learning with Python better

[realpython](https://realpython.com/) general articles about intermediate Python use. Another good resource

## Books / Courses

The book/course [Python Crash Course](https://gum.co/dcsp) is a good introduction to Python. It covers basics like functions, iteration, classes, inheritance. What's great about it is that it's both a book and a video course.

Other books I've enjoyed are [Python the hard way](https://www.amazon.com/Learn-Python-Hard-Way-Introduction/dp/0321884914) and [Automate the boring stuff](https://www.amazon.com/Automate-Boring-Stuff-Python-Programming/dp/1593275994). All of them teach you the basics you need to get working with Python.

## Final note

If you are learning Python, make sure you are using the latest version (version 3.x or newer), because Python is not backwards compatible. 

That means that in many cases Python 2 code no longer works with Python 3, because the syntax has changed slightly.

You can check your Python version with

    python --version