Python is one of the most practical and versatile programming languages you can learn.

From organizing files on your computer, scraping data from different sites, downloading YouTube videos, to investing in cryptocurrency or the stock market, python skills come in handy in a wide range of fields.

Whether you’re looking to put your newfound skills into practice or weighing whether python is worth learning, read on to discover what you can do with python

(And by the way our best Python books list is a great resource for beginners).

Below is not an exhaustive list, however here are 22 cool things you can do with Python

Automate Tedious Tasks

Once you have the basics of python down, you can start reaping the benefits of learning python right away by automating the personal and work tasks you find boring or time consuming.

All you have to do is script a simple program to execute the tasks. Examples of tasks you can automate include organizing files, scraping data from the web, and updating spreadsheets.

How to do it: Automate the boring stuff

Download YouTube videos

YouTube won’t allow you to download their videos directly but you can do so with python. Python allows you to download YouTube videos directly from the command line.

Using the Pytube package, you can build a YouTube downloader and easily download any video from YouTube to your PC.  

How to do It: Download YouTube Videos Using Python

Develop Basic Functional Tools

If you’re interested in UX and UI design, you can get started by creating simple functional tools.

Using the Tkinter module, wxWidgets, Kivy, and PYQT, you can create calculators, to do apps, alarm clocks, counter apps, units converter, and interactive maps.

How to do it: GUI Programming in Python

Scrape Data from Websites

From stock prices, currency values, academic research, to job postings, you can use python to scrape a wealth of data from websites quickly.

Python offers libraries like Selenium, ScraPy, and BeautifulSoup to simplify the task so it doesn’t take hours of your time.

How to do it: Web Scraping Using Python

Analyze and Visualize Data

Once you have the data at hand, python comes in handy again to help you analyze the data, extract the important information, and even present it in a visual manner.

Python offers a plethora of data libraries to work with including pandas to analyze data and search for trends and matplotlib, Seaborn, and Malibrarie to visualize the data in the form of charts, graphs, and maps.

How to do it: Python for Data Analysis

Recreate Classic Games and Build New Games

Would you like to experience how game development is like? Then you will be glad to hear that you don’t have to learn C# first.

You can use your python skills to create a variety of games including board games, puzzle games, arcade games, and adventure games.

You can recreate classic games like hangman, tic-tac-toe, ping-pong, and checkers or create your own games using Pygame, an open source library that has everything you will need including sounds and graphics.

How to do it: Invent Your Own Computer Games with Python  

Make a Text Adventure

Got an idea for an interesting fictional story?

You can use python to take the story to a whole new level by adding visual and interactive elements.

Make use of Ren’Py to incorporate sounds and images into your story.

How to do it: Make a Text Adventure Game Using Python

Monitor Sentiment Online

Python also has a Natural Language Toolkit (nltk) you can use to find out people’s opinions about something.

For example, you can monitor reviews, comments, and tweets on a product or service, a brand, or a company.

Simply use Tweepy to pull the tweets that meet you criteria, Elasticsearch to analyze the content of those tweets, and TextBlob to analyze the sentiment.

How to do it: Data Science: Natural Language Processing (NLP) in Python

Track Bitcoin Prices

Are you interested in Bitcoin trading? Making it in this trade requires you to stay on top of the prices. The good news is that you don’t have to stay glued to your computer monitoring the prices.

With your python skills, you can code up a Bitcoin price notification program that does this for you and enables you to strike when prices are hot.

How to do it: Build a Cryptocurrency Price Alerter Using Python

Build a Blockchain

Although originally developed as a financial technology, Blockchain is now being used for all kinds of transactions from real estate to medical records.

You can use python to build and implement a Blockchain from scratch. You’ll be using the requests library to communicate with your blockchain.

How to do it:  Learn Blockchain by Building One 

Dabble in Machine Learning and Artificial Intelligence

Knowing python will also open up the world of machine learning and artificial intelligence.

While these fields may sound intimidating to a beginner, Python’s well-developed machine libraries make it something anyone with python skills can try.

You can program even complex algorithms with only 20 to 40 lines of code.

You can also use deep learning libraries and frameworks like PyTorch, Keras, scikit-learn, and TensorFlow to build your own neural network.

How to do it: Hands on Machine Learning with Keras, scikit-learn, and TensorFlow

Build a Static or Dynamic Web Application

Building websites using python is easy and quick thanks to the plethora of web frameworks and libraries python offers.

You can use Pelican to build a static site and web frameworks like Django and Flask to develop dynamic websites like Instagram and Pinterest.

How to do it: Web Developer Bootcamp with Flask and Python

Build a Cross platform Mobile App

Kivy is a Python framework you can use to create a cross-platform mobile app.

The app you create will run seamlessly on Windows, macOS, and even Linux.

How to do it: Build a Mobile App with Python

Build a Chatbot

As you browse the internet, you’ve probably come across an automated chat service on websites.

With your python skills, you can create a Chatbot of your own from scratch and program it to interact with users.

This will require you to usenatural Language processing techniques and artificial intelligence libraries.

How to do it: Build Chatbots with Python

Create a Web Browser

Coding up your personal web browser is another exciting thing you can accomplish with python.

Make it as simple or as complex as you want. For starters, it should allow you to enter URLs and then load the webpages.

You can then add features such as bookmarks and any other cool features you ever wished for in a browser.

How to do it: Building a Simple Web Browser in Python

Create A Shortened URL

Any time you want to share a URL and want to make the URL look prettier, you have python to the rescue.

Its Django framework makes it easy to create your very own URL shortener such as Bit.ly.

How to do it: Create a URL Shortener with Python

Monitor Website Updates

Whether you want to stay on top of new posts or get notified when a product becomes available again, simply write a script that automatically checks the website of interest and notifies you of changes.

Remember to keep the time interval between checks reasonable otherwise you might overload the servers.

How to do it: Website Monitoring Using Python

Connect Your Devices to the Internet of Things

Python also supports the Internet of Things (IoT) so you can bring your personal devices such as your car, fridge, and lawn watering system online.

Python already has ready to use implementations for use with IoT. For example, MicroPython allows you to program microcontrollers.

How to do it: Internet of Things with Python

Create an Embedded Application

Since python is based on the C programming language, you can use it to create an embedded application such as Raspberry Pi.

You can use the embedded application as a computer or to get a robot to do what you want.  

How to do it: Python for Microcontrollers

Create an Interactive Quiz

One of the fun things you can do with python is to come up with an interactive quiz that asks users some questions and uses the answers to output personalized results.

The quiz can be on anything from find your personality, relationship match, or what programming language to learn.

How to do it: Build a Quiz Game in Python

Create a Notes App

Whether you’re employed, an artist, or a student, taking notes is probably a part of your life.

If you find the notes app you use lacking, you can use python to create a unique notes app and equip it with the features you need.

How to do it: Build a Note Taking App Using Python

Develop a Multimedia Player

Using Python you can develop an audio and video application such as TimPlayer and Cplay.

You will enjoy the fruits of your effort as Python based media players have great stability and performance.

How to do it: Build a Python Media Player

To Wrap Up

Actually, there’s no limit to what you can do with python. The language is suitable or adaptable to almost any use case you can think of.

Coding challenges such as The Python Challenge and PyBites Code Challenges are a great way to discover all kinds of things you can do with Python.

The Python Tricks book will also give you ideas on other things you can accomplish with this multi-purpose programming language.