What is the Best Way to Learn Python in 2016?

Have you recently thought about learning Python – but you didn’t know how to start? Are you in doubt whether Python would be the right choice? Why not Java, or Scala, Ruby, Javascript, PHP, C# or Go? Of course there are a lot of good programming languages out there – and every single one has its pros and cons. Anyway I want to give a simple recommendation: if you are a beginner in programming – start with Python (or JavaScript). You can always learn another (more complicated) language later …

The following image nicely illustrates the growing interest for the search term “learn python”. According to Google Trends in November 2015 more people were searching for “learn python” than for “learn java” …


Trend: searches for "learn python" - Data Source: www.google.com/trends

Trend: searches for “learn python” – Data Source: www.google.com/trends


Why Python? Because it is so simple and intuitive. You can almost read and write it like pseudo-code. It ships with mature and powerful frameworks and libraries for most problems you can think of and is backed by a strong community. Many new (Open Source) tools that conquer the market are written in Python. Don’t think of it as yet another scripting language – you can definitely write scalable enterprise applications with it. Here are some great examples:


  • Ansible (an excellent DevOps tool for configuration management and deployment automation)
  • OpenStack (famous on premise cloud solution)
  • Django (a powerful framework to develop mature web applications really fast)
  • Big Data Tools (many data scientists rely on python for their analytics and number crunching)
  • IT Security Tools (many pentesters use it to automate their testing and attacks)
  • System administrators (more and more sysadmins use python to script their jobs)
  • Large Internet Applications (even many famous internet applications are based on python, e.g. Youtube, Instagram, Dropbox, …)


Are you convinced? Want to start learning? In the following article I want to compare the best ways to start learning Python. There are a lot of free sources out there on the net (youtube videos, free tutorials, etc.). Some of them are really good – but I think the most straight forward and motivating approach will be to take an online course.


1. Learn basic Python on CodeAcademy.com

This free(!) interactive online course provides all the basics about Python syntax, strings, console output, conditionals and control flow, functions, lists, directories, loops, classes, file input and output … It is an interactive course – you can directly start coding the exercises right into your browser – no installations/setup overhead. This should be your first option to try …


screenshot from codeacademy.com

screenshot from codeacademy.com


  • Number of Students Enrolled: 2.5 million ++
  • Price: Free
  • Skill Level: Beginner
  • Course Duration: 13 Hours
  • Prerequisites: Basic programming skills and fundamentals
  • Website: https://www.codecademy.com/learn/python


2. Automate the Boring Stuff with Python Programming

This is a very practical online course. You learn Python while automating “daily work problems”. Users will learn about generating and updating Excel spreadsheets, parse PDFs and Word documents with Python. It covers how to crawl websites, pull information online, program keyboard and mouse events and how to write programs to send email notifications … and more.

It is designed for office workers, students and system administrators who want to get things done and increase their productivity. It is not a typical “academic course” that would focus on the maths behind the scenes. Recommended to everybody who has repeating (boring) tasks to do in his daily business … definitely worth the “invest”.




3. Coding for Entrepreneurs: Learn Python, Django and More

The course offers fundamentals and basics of programming and how to use it for entrepreneurship. It includes information on Python programming, Django (a Python framework for rapid development) and Twitter bootstrap frameworks. Users also learn basic HTML and CSS, how to use APIs and how to accept payments through Stripe.

Learn Python and also dive into useful frameworks that will enable you to start an online business. The price tag might seem a bit high – but it is worth the money. It is not a course that just teaches some basic programming – it teaches how to use state of the art technology in the real world to actually earn some money.


Justin Mitchel:
I’m Not Going To Teach You Tons of Coding Languages…

Instead of spending infinity boring you with the intricacies of a multitude of languages, Coding For Entrepreneurs will teach you the exact languages you need to know to launch any type of eCommerce site & build landing pages that convert browsers into buyers.


Screenshot: Coding for Entrepreneurs: Learn Python, Django, and More on udemy.com

Screenshot: Coding for Entrepreneurs: Learn Python, Django, and More on udemy.com



4. Learning Python for Data Analysis and Visualization Course

This advanced course teaches how to use Python for (Big-) Data Analysis. It provides information on creating and manipulating arrays using numpy, using pandas to create and analyze data sets and using matplotlib for better visualization. It also teaches Machine learning concepts and SciKit.

Many companies are working on “Big Data” projects. Opensource tools like Apache Hadoop, Apache Spark, NoSQL Databases or Tensorflow are already changing our world. And those companies are looking for data scientists – paying high salaries. If you want to start with Python for data analysis – then this course is for you.


Screenshot: Learning Python for Data Analysis and Visualization on udemy.com

Screenshot: Learning Python for Data Analysis and Visualization on udemy.com



5. The Python Challenge

Another way to learn Python on the internet is through this website: The Python Challenge. It just provides a set of riddles and you will need some programming know how to solve them. It is a nice and entertaining way of getting a little bit better every time you solve the next (harder) riddle. There is no registration required and therefore you can start solving right away. Riddles start simple and get more and more complex – so both beginners and expert level programmers can learn something there.


Screenshot: python challenge

Screenshot: python challenge



6. Google’s Python Class

This free class introduces beginners with basics of Python programming. It provides insights on strings, lists, sorting, dicts and files and regular expressions. It also contains video lectures and exercises. It is not the most “motivating” course out there – but it is free and published under a CC license …




If you want to learn Python – start with 1 (codeacademy) to get the basics real quick and to check if Python is something for you. After that, choose one of out of 2,3 or 4 – depending on your background and your future plans and learn some more detailed and practical things about Python. The paid courses do cost some money – yes – but they are well done, will be more motivating than crawling all the net for free stuff and will get you closer to your goals much faster.

If you learn better from books, you might be interested in this article: What are the best python books in 2016?

If you know another interesting way to learn Python – feel free to post it in the comments. If you like the article – please share it with your friends.