Python is one of the most frequently-recommended programming languages. You’ve probably heard people say that’s because it’s relatively easy to learn — and that’s true! But is Python actually useful? What are some of the real-world applications for Python skills once you’ve got them?
In this post, we’ll look at some of the most common use-cases for Python. We’ll also look at a few situations where Python probably isn’t the best choice.
That said, it’s important to keep in mind that Python is an incredibly versatile language. People use it for all kinds of things. The broad real-world use cases we’ll cover here are really just the tip of the iceberg!
Who uses Python today?
The short answer: millions of developers, along with a lot of other folks. A 2019 estimate put the number of Python developers at 8.2 million. StackOverflow’s 2020 developer survey ranks Python as one of the most popular and widely-used languages among developers. And as of April 2021, Indeed.com is listing nearly 100,000 open jobs that require Python.
Of course, there are also quite a lot of people who use Python that wouldn’t be captured by these sorts of statistics and surveys. Python isn’t just used by developers! It’s used by marketers, researchers, data scientists, kids, hobbyists, IT professionals, and all sorts of other people. You don’t have to make your entire living writing Python to get some real benefits from learning it!
At a professional level, though, Python is very useful. For example:
What companies use Python?
Here’s just a short list of a few of the companies that use Python:
- Google and subsidiaries like Youtube use Python for a wide variety of things. In fact, Youtube was built using mostly Python!
- Industrial Light and Magic, the company behind the special effects of Star Wars and hundreds of other films, has been using Python for years for its CGI and lighting work.
- Facebook and subsidiaries like Instagram use Python for various elements of their infrastructure. Instagram is built entirely using Python and its Django framework.
- iRobot, the folks who make the Roomba vacuum, use Python to develop the software for their robots.
- NASA and associated institutions like the Jet Propulsion Lab use Python for research and scientific purposes.
- Netflix uses Python for server-side data analysis and for a wide variety of back-end apps that help keep the massive streaming service online.
- Reddit runs on Python and its web.py framework.
- IBM, Intel, and a variety of other hardware companies use Python for hardware testing.
- Chase, Goldman Sachs, and many other financial firms use Python for financial analysis and market forecasting.
- Quora is yet another huge social media platform that’s built using lots of Python.
And that’s just the tip of the iceberg! In fact, these days most large companies are probably using Python at some level. A good way to check is to search a job site like LinkedIn or Indeed for
company name + python. Often, you’ll find that companies are looking for people with Python skills.
So, everybody’s using Python. What are they using Python to do? Let’s dive into some real-world applications for Python.
How is Python used in the real world?
1. Data Analytics
As companies across every industry collect more and more data, they need people who can make sense of it. Often, that means hiring data analysts with Python skills.
Python is popular for data analysis work because of powerful libraries like numpy and pandas, which make data cleaning and analysis tasks relatively straightforward, even when working with massive datasets. There are also Python libraries that support a wide variety of other data analytics tasks, from scraping the web with Beautiful Soup to visualizing data with Matplotlib.
Software tools like Jupyter Notebook make it easy for data analysts to create easy-to-repeat analyses, or add text and visualizations that make their work understandable even to people without coding skills.
Example use case: An ecommerce website wants to understand its users better. A data analyst at the company could use Python to analyze the company’s sales, highlight predictable trends, and uncover areas for improvement.
2. Data Science/”AI”
Python is also incredibly popular for more advanced data work in the realm of machine learning. Powerful libraries like scikit-learn and TensorFlow make implementing popular machine learning algorithms very straightforward, and more specialized libraries exist to help with a wide variety of specific machine learning tasks from image recognition to content generation.
Almost anything you see being discussed as “AI” in the news is some sort of machine learning implementation. And an awful lot of that machine learning is being done with Python.
Example use case: A video streaming platform wants to increase user engagement and stickiness. A data science team could use Python to build a predictive model that recommends videos to users based on factors such as their watch history, viewership habits, what videos other users with similar habits watched, etc.
3. Web Development
As evidenced in the list of companies above, Python is a very popular language for web app development. Many of the websites you use every day were built using Python and popular Python web frameworks such as Django and Flask. Although the pages themselves are are rendered with HTML and CSS, Python underlies these visual elements on many sites, driving functionality, managing databases, user accounts, and much more.
Example use case: A company needs to build a new version of its website with specific features. A web developer could build the new site with Python and Django, using the flexibility and power they offer to support any specific or custom features the company needs.
4. Game Development
Python is used in the development of indie video games, thanks to the existence of convenient libraries such as PyGame. (Noticing a pattern? Whatever your use case is, there’s probably already a few Python libraries out there designed to help with it).
Python isn’t used as frequently in the development of higher-budget games – if your goal is to build a photorealistic 3D world, Python’s relatively slow speed and relatively high memory usage mean it’s not the most ideal language for doing that. Python is sometimes used to build the systems that underlie these games, though. Games including Battlefield 2, Eve Online, The Sims 3, Civilization IV, and World of Tanks use Python, although none of them was coded entirely in Python.
Example use case: A small team wants to build a creative indie side-scrolling game. The devs could choose to work with Python to take advantage of the convenience of PyGame, and the relative ease of learning how to do new things in Python.
5. Software Development
Python is widely used in software development, across a wide variety of real-world applications. The line between software development and web development is a bit blurry these days, since almost all software is built to work on the web even when there’s also a desktop app. Dropbox is a good example of a modern software development company that does both, and Python was used to build Dropbox’s desktop app. Similarly, Spotify has both web and desktop apps, and Python was used to build a number of the background services that make them work.
Of course, Python is also used at many companies to develop internal software tools.
Example use case: A company plans to build a new email client. The developers choose to use Python because they know they’ll be able to create web and desktop clients using Python and its relevant libraries.
6. Data Engineering
Many of the Python libraries that make it a great option for data analysts and data scientists also make Python an important language for data engineers. Data engineers use Python for tasks such as building pipelines, combining datasets, cleaning data, working with APIs, automating various data processes, etc.
Example use case: A company has a lot of data, but it’s stored in various formats and databases, making it time-consuming for analysts to find and work with. A data engineer could use their Python skills to build a pipeline that automates collection from the various sources, joins and cleans the data, and makes it easier for analysts to access and filter.
Python is a popular language in the field of robotics, both among hobbyists and professionals. On the hobbyist end of the spectrum, Python is frequently used together with the Raspberry Pi hardware platform, which allows for flexible and affordable experimentation. In business, Python is one of the languages commonly used for robotic process automation (RPA), and it’s been used to do things like code industrial robot arms that can work in tandem with each other.
Example use case: A company orders a number of robotic arms for a manufacturing facility. Engineers could use Python to program their behavior, taking advantage of the language’s high-level readability to make it easier for everyone to understand what the arms are meant to be doing.
Python is great for automating repetitive tasks, and there are almost endless real world use cases for Python automation. For example, Python is a popular tool in DevOps because it makes automating systems and processes efficient and transparent. But outside the realm of software development, it’s also widely used to automate everything from complex systems to simple, personal processes like filling in a spreadsheet or responding to emails.
Example use case: A company reports its sales in monthly Excel spreadsheets from each region that have to be manually combined to build company-wide quarterly reports. Rather than do this time-intensive task by hand, an employee writes a Python script that combines all of the spreadsheets and produces each quarterly report automatically.
9. Hardware interfacing and control
Python’s ability to control hardware goes beyond robotics — in fact, it is used in all sorts of real world hardware-control applications. For example, this convenient Python library makes using Python for a variety of industrial control applications possible.
Example use case: An engineer at a company needs to write software to control a complex HVAC system. They could write code in Python that can send commands to and receive data from the system’s sensors and hardware controllers.
10. Education and training
Because it’s a very high-level, “readable” language that also has a variety of practical uses, Python is a very popular first language for people who want to learn programming. The wide variety of Python tutorials, videos, interactive courses, and other educational materials available for Python make it arguably the easiest programming language to learn.
Example use case: A company wants its data analysis team to be able to move beyond the limitations of Excel and SQL. They choose to get the team training in Python, knowing that they will have a wide variety of learning resources to choose from.
11. Personal convenience
In this article, we’ve been mostly focused on business use cases for Python. But many of Python’s commercial use cases are also applicable on a personal level, too. Python can be used to analyze your own data, to automate boring or repetitive elements of your job, or even to create art!
Example use case: Here’s a very personal example — when I wanted to stop myself from sitting for long hours at a stretch, I used my beginner Python skills to write a little script that would pop up alerts at whatever interval I wanted, play a sound of my choosing, and prompt me to do a little exercise based on parameters that I could tweak.
What is Python not good for?
Python is a great and versatile language, but it’s not the best solution for everything. Here are a couple examples of areas where Python might not be the best choice or the most common choice for real-world commercial applications.
Mobile app development
While you certainly can develop mobile apps for Python, you’ll need to make use of third-party layers to make them work across Android and iOS phones. These extra layers can make Python apps less efficient, which means Python isn’t always the best choice for mobile app development (although depending on your specific app’s requirements, it might be fine).
If you are interested in developing mobile apps with Python, a variety of options exist. One of the most popular is the Kivy framework.
Of course, you can always use the web development power of Python together with a framework like Django to make web apps that work well in mobile browsers, too.
Things that require high speed or high memory usage
In part because Python is a high-level language, it’s not always the fastest or most efficient option. For many use cases, this distinction won’t matter — you’ll never notice the extra tenth of a millisecond you might gain from using C++. But if, for example, you’re working on a high-speed 3D-rendered video game, Python’s speed and memory constraints will probably be too limiting.
Similarly, if you’re doing something like writing an operating system, Python isn’t a great choice because it’s inefficiencies will be layered on top of each other as users run programs within the main program that is the OS.
When high speed and memory performance is critical, Python probably isn’t the best option. However, in many cases — including all of the use cases described above — the minor sacrifices we make in speed and efficiency by using Python are far outweighed by the conveniences it offers.
Where can you learn Python skills?
- Youtube. There are thousands of free Python tutorials on Youtube, covering almost every conceivable use case.
- Dataquest. Interactive courses are a great option that makes it easier to get started, since you don’t have to figure out how to install and run Python locally.
- Udemy. If you learn well from video lectures, there are hundreds of Python courses to learn from here.
- Coursera. University-branded video lecture courses that cover a number of different Python topics are available.
- EdX. University-branded Python video lecture courses are available here too.
- Books. Many Python books, including popular ones like this, are available for free if you don’t mind reading them on a device.
- Classes and bootcamps. There are many in-person learning options for Python, too, although these tend to be the most expensive way to learn.