8 Non-exhaustive List of What You Can Do in Python
A set of interesting things to do in python.
Python is a relatively old language, easy to learn, and has a relatively large community, making it versatile. Here’s a non-exhaustive list of what you can do in Python:
- Scripting: Python is available by default in most Linux distributions; the fact that it is an interpreted language makes it an efficient language for writing small scripts to perform operations on your system: automate file processing, manage other processes, listen for incoming connections, etc.
- Web development: different web frameworks exist in Python. The two I know are flask and Django. Although very different, both allow you to build websites. Basically, a program is running on a server that listens for HTTP/HTTPS requests and executes python code to return a dynamically generated web page based on the request.
- Data Science: a little more my field, a certain number of packages and frameworks have been developed in Python to do Data Science and Python. I will name NumPy, which allows you to do numerical calculations, pandas, which enables you to efficiently manipulate data tables, and sci-kit-learn, which brings together a wide range of Machine Learning models.
- Data Visualization: Somewhat related to Data Science, a certain number of packages today make it possible to generate data visualizations more or less quickly and in a flexible way, in particular bokeh, plotnine, plotly, seaborn, and matplotlib.
- Software development: having strong paradigms for object-oriented programming, Python is very suitable for developing complex and modular software. In addition to the usual principles such as heredity, Python offers a certain number of elements facilitating abstraction, such as decorators or metaclasses.
- Functional programming: although Python is less well endowed on this side than other languages designed explicitly around the functional paradigm (in particular Haskell), Python nevertheless offers the basic structures and functions allowing to do functional work, in specific iterators and generators, as well as the functions map, reduce, and filter.
- GUI (Graphical User Interface): different packages allow you to create graphical interfaces for a Python program. The two best known are probably PyQt (built around the very famous Qt) and Tkinter (which comes close to the standard package for this).
- Numerical Optimization: One of the significant limitations of Python is that its interpreted runtime is relatively inefficient. And although this is rarely a problem, some elements of a program can be computationally intensive, in which case performance can be an issue. It is possible to write these parts in another language, but Python has a more practical intermediate solution: Cython. It is a language very close to Python, which makes it possible to compile a piece of code so that it is executed efficiently and, therefore, to ensure good performance for the parts of the code which require it.
The main area where I would say Python is quite unusable is in embedded systems: in a very computing-limited environment, Python is usually too heavy to be used effectively. Nevertheless, when the embedded system reaches a critical size, it becomes possible to do so: a simple Raspberry Pi already has plenty of power to run Python scripts.
More content at plainenglish.io. Sign up for our free weekly newsletter. Get exclusive access to writing opportunities and advice in our community Discord.






