How Powerful is Python and what exactly we can do with it?

Shubh Gupta
Mozilla Firefox Club VIT Vellore
6 min readNov 12, 2020

Python is one of the most popular, in demand programming languages. It is easy to learn, it’s super versatile and it has huge range of modules and libraries. If you are learning python or you are going to start learning it, then you may be asking yourself that what exactly python can do? Is it worth learning python?

To find the answers for such questions, let’s discuss about various applications where python can be used.

Web Development

One of the most trending fields you can explore if you are a python programmer is backend web development. Web frameworks that are based on python like Django and Flask have recently become very popular for web development.

These frameworks help you write server-side code in python and makes it easier to build common backend logic. Python indeed is a favorite among application programmers as well as web developers (thanks to Django) because of its strong emphasis on readability and efficiency. Python web development with Django framework is super smooth. In fact Django is currently the most famous framework for web development.

For beginners, I would recommend to try learning Django first. After learning Django, you will be able to understand various topics such as mapping different URLs to python code, dealing with databases, and generating HTML files users will see on website. Django provides all necessary features such as an admin panel, database interface, object-relational mapping, and directory structure for your apps and project. Instagram, Spotify, Udemy, Coursera use Django for building their applications.

On the other hand, Flask is a python-based light microframework which means it will have little or no dependencies on other libraries. It is extremely flexible and emphasizes simplicity & minimalism. Flask have lot of impressive features like support for cookies, integrated support for unit testing, Restful request dispatching, built-in development server and many more. Also it is easy to deploy in production. Companies like LinkedIn, Pinterest, Uber have used Flask in their back-end.

Overall python turns out to be very helpful in web development. It can be perfect choice to learn after you are done with python basics.

Machine Learning

Machine learning is an application of artificial intelligence (AI) that provides systems the ability to automatically learn and improve from experience without being explicitly programmed. Machine learning focuses on the development of computer programs that can access data and use it learn for themselves.

The primary aim is to allow the computers learn automatically without human intervention or assistance and adjust actions accordingly.

For Example:

For instance, we have a set of images of cats and dogs. What we want to do is classify them into a group of cats and dogs. To classify them we use machine learning. What machine learning does is process the data with different kinds of algorithms and tells us which feature is more important to determine whether it is a cat or a dog.

You can give, say, 1,000 pictures of a dog and 1,000 pictures of a table to a machine learning algorithm. Then, it will learn the difference between a dog and a table. When you give it a new picture of either a dog or a table, it will be able to recognize which one it is.

To learn more about Machine learning, check out our blog- Introduction to ML

Various applications of Machine learning are:

1. Image recognition

2. Speech recognition

3. Email spam and Malware Filtering

4. Product recommendation.

Other high level applications where machine learning is used:

1. Self-driving cars

2. Virtual Personal Assistant

3. Stock Market trading.

4. Medical Diagnosis

The reason we are discussing about machine learning is because python is highly used here. Python is widely considered as the preferred language for learning ML because it’s easy to learn and has great data handling capacity.

Python in Machine learning

Python offers concise and readable code. While complex algorithms and versatile workflows stand behind machine learning and AI, Python’s simplicity allows developers to write reliable systems. Python code is understandable by humans, which makes it easier to build models for machine learning. Also python has an extensive set of libraries or machine learning and data visualization such as:

1. Keras, TensorFlow and Scikit-learn are the most famous ones for machine learning.

2. Numpy for high-performance scientific computing.

3. Pandas for genera-purpose data analysis.

Thus, Python turns out be very helpful in Machine learning too. So if you know python and want to learn data visualization and machine learning, you can start learning any of these libraries. There are more libraries available which you can check too.

Game Development

Python has proved to be an exceptional choice by the developers for rapid prototyping of video games. Popular video games like Pirates of Caribbean and most famous one — Among Us use python programming for a number of its functionalities. Most famous library for game development using python is Pygame.

Source Google

Pygame is an open-source Python library for making multimedia applications like games built on top of the excellent SDL library. Pygame enables users to build fully featured games as well as multimedia programs with Python programming. It is highly portable and runs on nearly every platform and operating system.

Other libraries that are used for game development using python are:

1. PyKyra

2. Pyglet

3. PyOpenGL

4. Kivy

5. Panda3D

6. Cocos2d

7. Python-Ogre

Competitive Programming

First thing most of the programmers do after starting python is solving questions on hacker rank for better understanding of the language. Hacker rank is beginner friendly and also have separate set of questions for python to practice. If you want to practice and get some grip on python, you should definitely start with hacker rank.

Also, python is an amazingly user friendly language as its codes are shorter and more concise than those in other languages and is especially used by most programmers in questions where there is a chance of integer overflow as python allows one to code without any limit on the integer value. The only flaw that python possesses though is of being slow. In comparison to C/C++ and Java, it is quite slow and thus on online coding platforms, the time limit for Python is usually higher than that of C++. Many programmers will give this reason for not using python for competitive, but in my opinion it all depends on how you approach a problem. Just because your language is fast and productive than other languages, that doesn’t mean it will help you solving problem. Also, most coding competitions have reasonable time limit that don’t penalize slower languages so there is nothing wrong in using python for competitive programming.

Desktop Application

You can make small applications using Tkinter package (“Tk interface”) which is a standard python interface to the Tk GUI toolkit, but it not the most popular choice for desktop applications.

Instead people use Java, C#, C++ and also JavaScript for desktop applications. Currently most of the companies are using Electron JS for building desktop applications. Its a runtime framework that allows the user to create a desktop-suite application with HTML5, CSS and JavaScript and it is blend of two technologies: Nodejs and chromium. But if you want to learn making small applications using python, then you should definitely try Tkinter.

Conclusion

There are many more fields where python is used but these were the most common ones. For web development and Data science, python turns out to be very helpful and effective thus giving it an upper edge. Also for Game development and writing small automation scripts, python proves to be effective. Whereas for competitive coding and building desktop applications, I would recommend to go for other options but still you can use python if you want to ;)

--

--