Python is a high level, general-purpose programming language. According to the Popularity of Programming Language (PYPL) Index by Github, Python remains the most popular programming language in 2019, increasing in popularity by 28.24 percent since 2018, surpassing Java, Javascript and C#.

If you’re interested in learning Python, there are a number of online resources you can access.

Here are some of the top courses to learn Python.

Read next: The UK's top 15 in-demand programming languages

Additional reporting by Hannah Williams.

Udemy - Python for data science and machine learning

Udemy offers a number of online courses for Python, one of them being the Python for data science and machine learning bootcamp.

Priced at a current sale price of £12.99. The course includes 22.5 hours of video lectures, 10 articles and four downloadable resources.

It covers everything from machine learning algorithms to Pandas for data analysis.

Coursera - Python for data science by IBM

Coursera provides a Python for data science certification by IBM, which also covers general programming.

It is a beginner-friendly course split into four modules. On completion, your progress counts towards your learning in a number of other specialisations.

The course takes approximately 10 hours to complete, with free enrolment. The subscription is $39 (£31.10) a month.

Udemy - Complete Python Masterclass

Udemy is an excellent online course provider. Its courses start off at anywhere from £10 to £200 and cater to all skill levels. 

The Complete Python Masterclass is a great and comprehensive course offering 40.5 hours of on-demand video, 12 coding exercises and a certificate once you've completed it.

Apply for Udemy - Complete Python Masterclass

edX - Python Course for Beginners

Created by Massachusetts Institute of Technology, this course is free but requires students to have an edX account.

The course requires no previous coding experience and equips students with the knowledge to think computationally and to understand simple algorithms, testing and debugging and data structures.

edX is accessible on mobile site and app and allows students to complete the course at their own pace.

Apply for edX - Python Course for Beginners

Google - Python Class

Best suited to people with existing programming knowledge, this Google tutorial consists of lecture videos, written materials and multiple exercises to get you up to speed on Python.

You’ll cover foundational Python elements like lists and strings progressing to text files and HTTP connections.

The class is structured as an intensive 2 day undertaking and materials are divided accordingly.

Apply for Google - Python Class

Udacity - Programming Foundations with Python

It takes approximately six weeks to complete this introductory programme to Python.

Students will learn ‘object-oriented programming’ which facilitates the reusing and sharing of code, allowing engineers to collaborate effectively.

The course boasts active learning with students tasked with multiple mini projects and tasks throughout and a final project after the fifth lesson.

The ideal participants will have some prior knowledge of programming concepts such as if statements, loops and functions.

Apply for Udacity - Programming Foundations with Python

Wesleyann University - Python Programming: A Concise Introduction

The objective of this syllabus is to introduce students to Python version 3, using a hands on approach to learning.

It’s a four week course with an estimated 4-5 hours study required per week. There are four modules with set video and reading materials covering topics such as working with lists, datasets and libraries as well as functional values, formatting and statistics.

Students need to pass all graded assignments to graduate the course.

Apply for Wesleyann University - Python Programming: A Concise Introduction

Rice University - Python Programming Essentials

This introduction to Python programming is the first of a four part series offered by Rice University and requires no previous programming experience or knowledge. It focuses on the essential elements of programming from variables to expressions to functions and conditionals.

Upon completion, students will be able to write short Python programs and be set up to take on more complex programming projects covered in the following three courses; Python Data Representations, Python Data Analysis and Python Data Visualisation.

Apply for Rice University - Python Programming Essentials

DataCamp - Intro to Python for Data Science

This free course focuses specifically on Python for data science.

Students will learn how to store and manipulate data and what tools are required to perform better analyses.

There are four modules or chapters titled Python Basics, Python Lists, Functions and Packages, and NumPy.

The latter is a more powerful alternative to the list, helping students to take their first steps in data exploration.

The course takes four hours to complete, contains 11 videos and 57 exercises.

Apply for DataCamp - Intro to Python for Data Science

University of Michigan - Programming for Everybody (Getting Started with Python)

If you you’re looking to the learn the basics of computer programming using Python this is the course for you.

It requires 2-3 hours of study per week for seven weeks and is suitable for anyone with moderate computer experience.

The syllabus covers Why we Program, Variables and Expressions, Conditional Code, Functions, and Loops and Iterations. Students need to pass each assessment to complete the course.

Apply for University of Michigan - Programming for Everybody (Getting Started with Python)