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:

  1. Printing and comments โ€” showing output, leaving notes for yourself.
  2. Variables and data types โ€” numbers, text (strings) and true/false values.
  3. Input โ€” getting information from the user, and why it always arrives as text.
  4. Operators โ€” arithmetic, comparisons such as == and >, and and/or/not.
  5. Strings โ€” slicing, joining and formatting text.
  6. If statements โ€” making decisions.
  7. Loops โ€” repeating things with for and while.
  8. Lists and dictionaries โ€” storing many values. Our explainers on Python lists and Python dictionaries cover both.
  9. Functions โ€” naming a piece of code so you can reuse it. See Python functions explained.
  10. 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:

WeekLearnBuild
1Install, print, variables, input, operatorsA tip calculator that asks for a bill and a percentage
2Strings, if statements, loopsA number guessing game
3Lists, dictionaries, functionsA to-do list or a simple contact book
4Errors, reading and writing filesYour 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.