According to Stack Overflow Insights’ Trends, Python is today the world’s fastest growing programming language. As you can see from the picture, Python’s popularity started growing by 2012.
The reason behind this fact relies on the widely range of applications of this high-level programming language, from web development to data science, and the rich set of standard libraries and frameworks for these different purposes. Python is also widely used among top companies, such as Dropbox, Instagram, Netflix, Spotify, and many others.
Python was created in the late 1980’s and its ‘boom’ is highly linked with its easy of use (human-friendly syntax) and power specifically in the field of Artificial Intelligence (including Machine Learning, Deep Learning and Data Science).
As I believe that we already have enough information to self-learn a subject, I have decided to create a post with the most relevant and useful websites and books to learn Python, instead of working on another tutorial, which will only bring redundant information to the table.
Will Python’s popularity keep growing? Trends will always define the needs. In my humble opinion I believe it will. Specially look at the stats on other programming languages that are used for similar applications as python is used for, such as R. In the picture below, we can see that R has not increased as much as Python in the past years. Why? R is mainly used for data analysis and statistics, while Python was initially created for deployment and production. However, the increase of libraries for data analysis an visualization in Python allows people to do (almost) same tasks as in R. The increase of libraries helped increase the popularity of this language and therefore, job opportunities.
I will list down the different resources that I consider most useful and interesting to learn Python, from beginners to Python applied to Data Science, Machine Learning and Computer Vision. Let’s start!
Python Official Website: from beginner to expert!
Can you think of a better place to learn something that a primary source? In the official website of Python you can find (obviously) most of the information related to this programming language.Inside Python’s official page you can find a list of introductory books to Python programming, a beginner’s guide with examples, a list of resources, interesting python tutorials in 50+ different languages and the complete documentation of Python, including the Python Tutorial.
The official website can be a bit overwhelming if you are too new into programming, so I will recommend you to take a look into their non-programmers guide before diving into any tutorial.
This website offers tutorials for Python programmers of all levels. Good thing about this site is that offers study plans also for all levels, which makes he learning easier and faster!
I like to refer to tutorialspoint’s python tutorial whenever I want to refresh basic concepts of this programming language. They recommend to have a basic understanding of computer programming before doing their tutorial.
W3Schools is a classic! It offers tutorials for a wide range of programming languages in a very “get to the point” way, avoiding unnecessary information but just explaining the most important part, plus showing some examples and including exercises.
DataCamp: Intro to Python for Data Science
DataCamp gives you the opportunity to interactively learn Data Science online. They offer an introduction course on Data Science with Python which guides beginners into the basics of this programming language and shows how to get started with the fundamental packages, such as NumPy.
Codeacademy is a well-known interactive platform for learning programming languages. For Python it provides courses for many different applications: data analysis, machine learning, natural language processing, algorithms, data cleaning, etc. I also like that it comes with skill paths such as Data Science, and combines the learning with multiple languages such as Python and SQL in this Data Science case.
“Learn Python” offers free interactive Python tutorials, with the same approach as DataCamp, learning by example and practicing through exercises. Possibility of learning in different languages such as Spanish and Portuguese.
Google’s Python Class
Tutorials from Google developers in Python. Is more of a theoretical approach without an interactive platform, but you can download exercises to practice.
Python Programming Tutorials
I like this website a lot, it provides with free videos, text/theory, and code to learn from basic python up to machine learning, web development or game development, among others. Highly recommended.
Other interesting resources:
• Python NumPy exercises
• Programmiz: Python Programming
• An introduction to Interactive Programming in Python
• Python for Data Science and AI
• Learn by example: Python basics
• A Python Book: Beginning Python, Advanced Python, and Python Exercises
• Best Way to Learn Python (Step-by-Step Guide)
• javaTpoint Python Tutorial
Best way to learn Python
After showing the different resources you might be wondering where should you start (?). First of all, you should install the python environment in your computer if you have not done it yet. Enroll yourself in a course or make use of the free resources above and practice, practice, practice. This will give you an idea of what python is and what can be used for, as many of those blogs shows applications of the programming language by example. Discover frameworks and set up small personal projects using Python. You can test your ability in different coding challenges, that you can find in pages such as Codewars.
Enjoy and good luck!