If you are a complete beginner, the best place to start with Python is smaller than you think: install it, write one line that prints something, and then learn about ten ideas in the right order. This guide gives you that order, a four-week plan, and the traps that make most absolute beginners give up.
No maths beyond arithmetic is needed. No previous experience. What you do need is about thirty minutes a day and the willingness to type code yourself rather than only reading it.
Why Python is a good first language
Python reads more like English than most programming languages. Compare what it takes to show a message on the screen:
print("Hello, world!")
That is the whole program. There is no set-up code around it to explain away, which means you spend your first week learning ideas rather than punctuation.
It is also genuinely useful once you know a little. People use Python to automate office chores, analyse spreadsheets, build websites, work with data and AI, and make simple games. You do not have to pick a direction now, but it helps to know the language leads somewhere. (If you are wondering whether learning to code still makes sense when AI can write it, we answered that in should you still learn Python when AI can write it?)
Step 1: Install Python
Go to python.org/downloads and install the latest Python 3 release. As of September 2026 that is Python 3.14.
- Windows: python.org now recommends its Python install manager; the traditional installer is still offered too.
- Mac: download the macOS installer and run it.
To check it worked, open a terminal (PowerShell on Windows, Terminal on Mac) and type python --version on Windows or python3 --version on a Mac. A version number starting with 3 means you are ready.
Ignore any tutorial that mentions Python 2. It reached end of life in 2020.
Step 2: Choose where to write code
You need a code editor โ a text editor that understands programming. Two good free choices:
- VS Code, with Microsoft's Python extension. Popular, flexible, and used by professionals.
- Thonny, designed for beginners. Simpler, with a built-in way to step through your program line by line.
Either is fine. The mistake is spending a week choosing.
Step 3: Write your first real program
Create a file called hello.py, type this in, and run it:
name = input("What is your name? ")
print(f"Nice to meet you, {name}!")
When it runs, it asks your name and greets you. In two lines you have used a variable (name), a function that reads input, and an f-string that builds a message. You will meet all three properly soon; for now, the win is that it runs.
The first ten concepts, in order
Beginners stall when they learn things out of order โ classes before functions, files before loops. This order builds each idea on the last:
- Printing and comments โ showing output, leaving notes for yourself.
- Variables and data types โ numbers, text (strings) and true/false values.
- Input โ getting information from the user, and why it always arrives as text.
- Operators โ arithmetic, comparisons such as
==and>, andand/or/not. - Strings โ slicing, joining and formatting text.
- If statements โ making decisions.
- Loops โ repeating things with
forandwhile. - Lists and dictionaries โ storing many values. Our explainers on Python lists and Python dictionaries cover both.
- Functions โ naming a piece of code so you can reuse it. See Python functions explained.
- Errors โ reading error messages and handling them with
try/except.
After these ten you can write genuinely useful small programs. Files, classes, modules and libraries come next, and they make much more sense once the basics are automatic.
A realistic four-week plan
About thirty to sixty minutes a day, five days a week:
| Week | Learn | Build |
|---|---|---|
| 1 | Install, print, variables, input, operators | A tip calculator that asks for a bill and a percentage |
| 2 | Strings, if statements, loops | A number guessing game |
| 3 | Lists, dictionaries, functions | A to-do list or a simple contact book |
| 4 | Errors, reading and writing files | Your contact book, saved to a file between runs |
Our list of Python projects for complete beginners has more ideas at each level, and Python exercises for beginners gives you short drills with answers for the days you do not want to build something.
The traps that stop beginners
Reading instead of typing
Watching a tutorial feels like progress. Typing the code, breaking it and fixing it is progress. Aim for at least half your time with your hands on the keyboard.
Copying without understanding
This trap is newer and more tempting: asking an AI chatbot for the answer and pasting it. You get working code and learn nothing. AI can be an excellent tutor, but only used a particular way โ our guide on how to learn Python with ChatGPT explains the method.
Panicking at error messages
Errors are not failure; they are Python telling you exactly what went wrong and on which line. Read the last line of the message first. Most beginner errors are one of a handful of patterns, collected in Python errors beginners make.
Waiting to feel ready
You will not feel ready to build a project. Build one anyway โ a small one โ at the end of week one.
How long until you are "good"?
You can write useful small programs within a month of steady practice. Being comfortable enough to automate real tasks usually takes a few months. Our honest breakdown of how long it takes to learn Python sets out what to expect at each stage, and if you are worried about difficulty, read is Python hard to learn?
Where a book helps
Free tutorials are plentiful; the problem is order and gaps. A book gives you one path with nothing skipped. Python for Beginners follows exactly the sequence above: installing Python and an editor, then the basics, strings, control flow and loops, data structures, functions and error handling, files, object-oriented programming, and modules โ with test questions after every part and three complete mini projects at the end.
Its free Practice Toolkit, available on the book's page, adds 50 graded exercises with answers, a 30-day study plan, and a one-page checklist of the mistakes that stop beginners for hours.
Frequently asked questions
Can I learn Python with no experience at all?
Yes. Python is one of the most common first languages precisely because it assumes nothing.
Do I need to be good at maths?
No. Everyday programming needs arithmetic and logic, not algebra or calculus. Specialised fields such as machine learning use more maths later.
Is Python free?
Yes. Python, VS Code and Thonny are all free.
Should I learn on my phone?
Phone apps are fine for reading and quizzes, but you learn to program by writing programs, which is far easier on a computer with a keyboard.