Welcome!
This short guide will help you go from zero programming experience to being comfortable reading and writing in Python.
🐍 Why Python?
Python is a language for instructing computers to do stuff. People have done some pretty awesome things with Python:
- Render the first ever image of a blackhole: The Python package NumPy was used to process data collected from telescopes all around the world to form the famous blackhole picture.
- Support a social media platform for billions of users Instagram uses Python to manage their web servers so that you and billions of other people can share photos and videos.
- Power machine learning Python is one of main languages used for machine learning. "Machine Learning" means getting computers to learn from data. This includes generative models for text (ChatGPT) and images (Dall-E, Midjourney), recommendation systems (YouTube algorithm), computer vision & object recognition, personalized medicine, robotics, and countless other applications. Popular Python packages include Sci-Kit Learn, PyTorch, and TensorFlow.
Now, let's be real here. You probably won't be using Python to do any of these things, at least not immediately. So what can you realistically do with it when you're just getting started?
As with learning any new skill, we will start our journey by facing more modest problems. In this guide, you will learn to create the following programs:
Project | Description | Skills |
---|---|---|
The Decider | Are you indecisive? Well, not anymore | Python basics |
Clean Your |
Sort your downloads folder, instantly | Working with files and folders |
Powerballers | How many tickets should you buy to win big? | Number-crunching, simulations, and data analysis |
NoGPT | Generative text without fancy AI programming | Working with files, data analysis |
📖 Reading this guide
Programming is not the easiest thing to learn. Honestly, it's extremely frustrating at times. Despite this, it's a very rewarding skill. It can save you time ⏳ and money 💵, it can make your resume stand out 💪, it's a great hobby to share with people 🫂, and it will improve the way you think and problem-solve 🧠.
There are a lot of guides on learning Python. Some are really good, most are ok. Too many of them assume you know a thing or two about programming. Too few authors actually remember what it is like to not know how to program. I don't claim my guide is the best place to learn to program with Python, but I am quite confident that it's a good place to start.
I wrote this for people who have never programmed before, people whose primary experience using a computer consists of watching videos online, sending emails, maybe making a spreadsheet now and then or typing up a report. People who don't know what a programming language even is.
Despite not needing any background knowledge, you do, however, absolutely need:
- An open mind
- To be okay with failure
- To understand that you can always improve
People mistakenly believe that they are not smart enough to program. This is backwards thinking!
- 🏋️ You are not too weak to go to the gym. You get strong from trying, failing, then trying again at the gym
- 🧘 You are not too easily distracted to meditate. You gain focus by trying, failing, then trying again to meditate
- ✍️ You are not too bad with words to write. You become eloquent by trying, failing, then trying again to write.
- 🧑💻 You are not too dumb to program. You get smart by trying, failing, then trying again to program.
💽 Technology Prerequisites
While you don't need any prior programming experience, you should own or have access to a computer of some kind. The computer needs to have an operating system, like Windows 10 or Mac OS, and you should be familiar with how to use the computer to install and run applications.
Also, you should be familiar with:
- Reading and writing in English
- Your keyboard (the
enter
/return
key,Ctrl
/Cmd
keys, letters, numbers, space bar, etc.) - Using a web browser, like Google Chrome or Mozilla Firefox
- Navigating a website