Learn Python to ship a real script in four months
Four months of daily practice — about 45 minutes a day on a single book and one project — gets a complete beginner to writing Python code that does something they actually need. Roughly 90 hours total. You will not be a software engineer. You will be a person who automates their own work.
4 months · ~90 hours · ship a script that saves you an hour a week
1.Python Crash Course, 3rd edition
Eric Matthes wrote the textbook everyone wishes they had started with. Part one drills the language — variables, lists, dictionaries, classes, files — through small exercises you can finish in a sitting. Do every exercise. Type the code; do not copy-paste. By chapter 11 you have a working test suite, which is more than most self-taught coders ever write.
$28 paperback from No Starch, or $22 ebook
Python Crash Course →2.Automate the Boring Stuff with Python
Al Sweigart's book is the second half of the canonical self-taught path and it is fully free online. Skip the chapters on basics — you already know them. Read the project chapters: regex, web scraping, Excel, PDFs, scheduling. Each chapter ends with a real automation. Build two of them against your own files instead of his examples.
Free online; $40 paperback if you want one
Automate the Boring Stuff →3.Ship one script that solves your own problem
Pick something boring you do every week — renaming photos, scraping a price, reconciling a spreadsheet, generating an invoice — and write the script. No tutorials. You will get stuck. Read the error message, search the exact text, read the top Stack Overflow answer, try again. This is the month where Python stops being a subject and starts being a tool. Run the script every week for a month before you call yourself done.
Free
Python docs (reference) →If this doesn't fit you
If your reason for learning Python is data analysis specifically — pandas, plots, notebooks — skip this path and go straight to Wes McKinney's Python for Data Analysis, which is also free online. The general path teaches you to write programs; the data path teaches you to wrangle tables. They are different skills.
Why this path
Most beginners get trapped in a loop of half-finished tutorials and never write code they own. The bottleneck is never syntax — it is the gap between exercises and a real artifact. Python Crash Course gives you the grammar in six weeks, Automate the Boring Stuff shows you what the grammar is for, and the final month closes the gap by forcing you to debug your own bug. Skipping the project is the most common mistake, and the only step that matters.