There's no doubt that Python is one of the most popular programming languages in the world. Over the past ten years, Python has grown to become one of the top 3 languages that developers use. According to the 2020 Stack Overflow survey, over 40% of developers are currently working with the language, and an additional 30% can't wait to learn Python. But many learners finish an Intro to Python course and don't know where to start using their newfound skills – the possibilities are endless!
It's one thing to learn Python basics, but it can be challenging to figure out what you should do with it once you've learned it! In this article, we'll cover 15 different use cases for Python to help you overcome that dreaded coder's block. If you've been wondering, "What can I do with Python?" then this article is just for you!
Interested in coding and web development?
Learn all about it in our comprehensive (and free) ebook!
1. Organize files on your machine
One of the simplest tasks Python is used for is automatically organizing files on your machine. Operations like renaming, copying, and moving hundreds of files can be done in seconds with a Python script. (Done manually, this process could take hours!)
For instance, let's say you want to tag all the music files you own and log all that metadata into a database. You could open each song in your favorite media player, manually add all the tags, and record the song in an Excel spreadsheet… or you could write a Python script to do all that work for you!
That's precisely what beets does. This free and open-source software is written in Python and helps you organize your music files in a cinch. As their website says, "If beets doesn't do what you want yet, writing your own plugin is shockingly simple if you know a little Python!"
2. Keep track of your digital collections
Your music library might not be the only collection you want to keep track of. What about your favorite YouTube channels, blogs, and social media sites? Typically, your bookmarks are saved in the browser, and your subscriptions are attached to a specific website, but exporting and importing all those lists can be tedious.
Why not use Python to help you manage your bookmarks instead? It sounds complicated, but you can do this quite easily! Check out buku, a private, command-line implementation of this idea. Written entirely in Python, buku allows you to manage lists of your favorite websites straight from the command line. That's just the tip of the iceberg, though. buku is a project that showcases Python's versatility. This program can auto-tag bookmarks with metadata, fix certain broken links, search through the database using regular expressions, and even lock and encrypt your collection!
If you're itching to know, "What can I do with Python?" then why not contribute to this open-source project? Many other Pythonistas have already used Python to add their own functionality to the program. Try to add a new feature, like support for different websites such as onions and gophers!
3. Host your resume as a static website
Trying to find a job in the tech industry these days can seem like an uphill battle. You try everything in your power to make your resume stand out, but hundreds of people are applying to the same job postings as you. There's a chance your resume will never even be seen by most hiring managers! Besides taking courses and building a project portfolio, how else can you stand out?
One solution is to host your resume online! Static site generators are tools that allow you to quickly and easily build simple websites. Pelican is a static site generator written in Python, and it's perfect for serving up a clean yet interactive version of your resume. You can install themes to change the look and feel of your site, which means getting deep into the Python code and customizing to your heart's content!
4. Build dynamic websites
Static sites are great for some applications, but other websites host more dynamic content and therefore require more robust functionality (for example: hosting videos, managing user accounts, and accessing a database). If you're looking to develop a more feature-rich website, then Python web frameworks like Django and Flask might be more your speed.
For an example of these web frameworks in action, just take a look at Instagram (built with Django) or Pinterest (which uses Flask). Both sites are capable of handling hi-res images, complex user interactions, and responsive web design elements—with Python running behind it all.
5. Train a neural network
Deep learning has burst onto the tech scene in recent years, and neural networks are the star of the show. These advanced machine learning models mimic the human brain and allow machines to learn by incorporating new information into their existing algorithm.
Companies like Uber use neural networks to connect riders to rideshare drivers and even to improve the quality of food and restaurant recommendations. Python is a central part of their toolkit: Uber says the deep learning library PyTorch is a staple for developing their algorithm.
Python offers other frameworks for deep learning, like Keras and TensorFlow. When you learn Python and use these frameworks to build your own neural networks, you'll gain a skill that will be sought after for years to come!
6. Make recommendations
Another popular machine learning use case is the recommender engine. You've probably seen one in action while shopping online: at some point on your screen, you'll see a section titled something like Customers who viewed this also viewed…
But recommending items to users can get complicated pretty quickly. Luckily, Python provides a plethora of tools (like NumPy, Pandas, Scikit-Learn, and more) to make the development process much smoother. This data science stack integrates well with big data frameworks like Hadoop, allowing companies like Spotify and Netflix to perform data analysis and recommend music and movies to users.
7. Visualize data
For organizations to make the best business decisions, they'll need to gather a lot of data—and they'll need to be able to see it, too. Once again, Python provides a plethora of data visualization libraries to help make it easier for you to really see the data you have on hand.
With Seaborn and Matplotlib, you can easily create charts, graphs, and maps that present your data in a visually appealing format. You can add interactivity with libraries like Bokeh, and deploy your visualization as a Docker web app or even in a Jupyter notebook.
For a truly standout project, try building a dashboard that automatically creates and updates visualizations in real-time for a dataset of your choice. Python integrates easily with external tools like Tableau just for this purpose.
8. Analyze sentiment online
Another way you can help businesses make decisions is by analyzing customer feedback. Sentiment analysis is one of the areas that really shows why Python is so popular. Its data science stack allows those who might not be so comfortable with software (like digital marketers or business analysts) to keep tabs on their online reputation easily.
With Python, you can use the Natural Language Toolkit (nltk) combined with some simple supervised learning algorithms to quickly detect the sentiment of online activity. Use it to monitor reviews, tweets, comments, and any other form of user feedback on anything from products to movies, brands, and more.
9. Scrape data from the web
Of course, none of these projects would be possible without data! The Internet is a goldmine when it comes to information. Still, much of that data has to be collected before you can use it to train models, make visualizations, or do anything else, really.
With Python, you can easily scrape data from websites using libraries like Selenium, ScraPy, and BeautifulSoup. Furthermore, Python will easily integrate with available APIs to help you pull down structured data quickly and efficiently.
10. Build mobile applications
These days it seems almost impossible for us to operate without mobile devices. As of June 2020, it's estimated that around 3.5 billion people own smartphones—that's over 45% of the Earth's population. If you're looking to cash in on the mobile app market, then now's the time!
You may think that mobile apps can only be coded with platform-specific programming languages, but that's not necessarily the case. For instance, Kivy is a Python framework that allows you to create cross-platform mobile apps that will reflect the native UI of the system it's running on. Dropbox uses Python to build its mobile app, which runs seamlessly on Windows, macOS, and even some Linux distributions.
11. Trade cryptocurrency
Technology seems to be moving at a faster and faster rate, and nowhere is this more apparent than with cryptocurrency and blockchain technology. With Python, it's easy to cash in on such risky ventures!
Those who win the post when it comes to crypto have extensive resources of either human workers or their machine counterparts. Regardless, to be an effective trader, you have to stay at the forefront of what's going on consistently. You can ensure your horse stays in the race by building a crypto trading bot with Python.
Your bot will be active 24/7 and can act independently of you, so you'll always be able to strike when prices are hot. If you're serious, you can incorporate machine learning algorithms to predict when the best time to buy or sell. This is an extremely lucrative trade, so even if you don't take the risk yourself, your implementation could still earn you big bucks!
12. Deploy a social media bot
Billions of people across the globe use social media to connect with friends, family, and coworkers. They promote products and services and share their opinions, stories, and ideas. But with so much content being generated daily, it can be daunting to manage all of your accounts manually.
Once again, Python steps in with an automated solution. With Python, it's easy to create bots that will handle a lot of the social leg work for you. (If only it were this way IRL!)
You can use libraries, like Tweepy and InstaPy, to interface with social networking services directly, or you can write code for a bot that connects to an API, like the ones provided by YouTube, Reddit, or Discord. You can even deploy your app using external integrations like Docker for a complete, end-to-end solution.
13. Build a chatbot
There's another kind of bot that's making the rounds these days: chatbots. These are automated messaging services that serve to help users navigate websites and quickly find answers to their questions. More generally, chatbots are fun apps that you can converse with like a friend.
Chatbot implementations are dependent on advancements in natural language processing, so the interactions aren't always super smooth. However, Python makes it easy for you to create sophisticated chatbots by combining the nltk with various machine learning libraries. You could even include speech-to-text functionality using the PyAudio and SpeechRecognition libraries to give your chatbot a voice!
14. Connect to the Internet of Things
Every day, more and more devices are coming online: cars, smart homes—even refrigerators! This surge in Internet-connected devices is called the Internet of Things (IoT), and Python comes ready-made to connect your projects to it. Using tools like Arduino boards and Raspberry Pis, you can build robots, appliances, and other small devices that link to and interact with the IoT, all while running Python.
Some developers have even gone so far as to create Python's specific implementations that are optimized for use with IoT devices. For example, MicroPython is an open-source Python implementation that makes it easy for you to program microcontrollers. You can have your own firewall or water irrigation system set up in no time!
15. Extend other programming languages
Sometimes, there's a project that you have in mind where Python isn't the most practical choice. You may be tempted to throw in the towel and switch entirely to Java or C++, but don't give up just yet! Python's flexibility lets you extend many other programming languages, like Visual Basic, Java, and even C/C++.
Let's say you're building a scientific application that needs to run numerous algorithmic calculations quickly. If you've already set your mind on Python, you'll be glad to know you won't need to completely switch over to C/C++. Instead, you can write an extension module to take advantage of those critical performance gains while keeping the bulk of your code in Python.
Get started with Python today
Python's versatility means that it's well-suited to almost any use case you can think of. We hope that this list will be your jumping-off point for ideas on new projects to start. Hopefully, the question of "what can I do with Python programming?" will never have you facing coder's block again!
Are you excited about all the fantastic things you can create with this flexible, popular, and simple programming language? You're in just the right place to get started. Check out the Intro to Python and Python for Data Analysis courses on GoSkills, which will have you up and running programs in Python in no time.
Take these courses and more for a spin today with a 7 day free trial of all GoSkills courses.
Interested in coding and web development?
Learn all about it in our comprehensive (and free) ebook!