Web development evolved rapidly. One of the latest bets on the market, with a huge implementation among the community of American developers, is the Python programming language, which allows projects to be carried out in an agile and versatile way. The syntax, written in the late 80's by Guido Van Rossum - already for version 3.5.0a4. - has become one of the essentials if you are a software developer.
If your idea is to learn python web development, one of the first questions you will have, almost certainly, will be related to what and in what it can be used. Well, the answer is as complicated as the question, because Python can be used for many applications, but if you have to be more specific, we can say that there are applications that are the most popular: data science including machine learning, data analysis and visualization; Web development and Scripting. Let's see what each one is about.
Data science: Machine learning normally implements an algorithm that automatically detects a pattern at the given input. For example, you can give 1,000 images of a dog and 1,000 images of a table to a machine learning algorithm. Then, you will learn the difference between a dog and a table. When you give it a new image of a dog or a table, you can recognize which one it is.
You can apply the same idea to recommendation systems (think of YouTube, Amazon and Netflix), Face recognition or voice recognition among other applications.
Popular machine learning algorithms that you may have heard about include neural networks, deep learning, support vector machines, random forest ... any of these algorithms can be used to solve the dog's image tag problem and table.
There are known machine learning libraries and frameworks for Python. Two of the most popular are scikit-learn and TensorFlow.
Scikit-learn comes with some of the most popular machine learning algorithms incorporated.
TensorFlow is more a low-level library that allows you to create custom machine learning algorithms. If you are starting with a machine learning project, it is recommended that you start with scikit-learn. If you start to find efficiency problems, then you would start researching on TensorFlow.
Web Development: Django and Flash, for example, are Python-based web frameworks. These frameworks help create server code (backend code) in Python. That is the code that runs on your server, unlike users' devices and browsers (front-end code). Here it is necessary to explain that a web framework is needed because it facilitates the creation of a common back-end logic. This includes correlating different URLs with Python code snippets, dealing with databases and generating HTML files that users see in their browsers. Django and Flask are two of the most popular Python web frameworks, more if you're just starting.
Scripting: this refers to writing small programs that are normally designed to automate less complex tasks. Python is suitable for these types of tasks, mainly because it has a relatively simple syntax and is easy to write. It's also quick to write something small with it and try it.