Comfy Syntax

Python, explained by someone who found it overwhelming too.

For the part nobody teaches properly — what the words actually mean, why your code broke, and how to keep going when you want to quit.

Traceback (most recent call last):
  File "main.py", line 4, in <module>
    average = total / count
              ~~~~~~^~~~~~~
ZeroDivisionError: division by zero
In plain English

You asked Python to divide total by count — but right now count is 0. Nothing can be divided by zero, so Python stopped rather than guess. Your logic isn't broken. count is zero, and Python won't guess what you meant by dividing by nothing.

Start with Python Decoded — R349

The 77-page beginner guide · Instant download · Yours forever

Made for you specifically

I wrote this for one person.

Not "aspiring developers." Not "learners." You.

You're learning between lectures, after shifts, or at 11pm when the house finally goes quiet.
You've been the only girl in the tutorial, and you noticed.
You have a Pinterest board of beautiful desk setups and no idea why your code won't run.
You've started a course before. You didn't finish it. You've quietly decided that was your fault.
You're doing this on a phone more often than a laptop.
You want to build something of your own, not just pass a module.

If you read that and felt a bit seen — hi. This is yours.

You know this feeling

Sixteen tabs open. The same red text on your screen for forty minutes. Every answer you find assumes you already understand three things you don't.

And somewhere in there you start wondering whether you're actually cut out for this.

You are. The explanations were just bad.

✦✦✦
Why this keeps happening

Most Python resources are written by people who forgot what confusion feels like.

Once you truly master something, you lose the ability to remember not understanding it. That's why expert tutorials skip the exact step where you got stuck — for them, that step stopped existing years ago.

I'm one chapter ahead of you, not twenty. I still remember which idea made me want to close the laptop, and which explanation finally made it click. That memory is what Python Decoded is built out of.

Start here

Python Decoded

The beginner guide.

Ten chapters covering every core concept — variables, strings, lists, loops, conditionals, dictionaries, functions, error handling, objects and APIs — in the order they actually build on each other. Every concept opens with an analogy before a single line of code appears.

What changes is this — you read code and understand what it's doing, instead of staring at it wondering what everyone else seems to see.

A real page from the book

Here's exactly how it reads.

Chapters 3 & 4 · Lists and dictionaries

When to use a list, and when to use a dictionary

These two get confused constantly, and the reason is that nobody explains what they're for — only what they look like. So let's start somewhere else entirely.

Think of it this way

A list is the queue at the salon. Order is the whole point — who's first, who's after that. A dictionary is your contacts app. You'd never scroll to position 47 to find your mum. You search her name.

That's the entire difference. A list keeps things in order and you reach them by position. A dictionary pairs each thing with a name, and you reach it by that name.

# A list — order matters, you use positions
appointments = ["9am wash", "11am colour", "2pm cut"]
print(appointments[0])   # 9am wash

# A dictionary — names matter, you look things up
prices = {
    "wash": 150,
    "colour": 850,
    "cut": 300
}
print(prices["colour"])   # 850

Notice the brackets are different, and that's your visual cue. Square brackets [ ] make a list. Curly brackets { } make a dictionary.

Notice too what you put inside the brackets when you're fetching something. With the list it's a number, because you're asking for a position. With the dictionary it's a name in quotes, because you're asking for a label.

The rule worth remembering

If you'd naturally describe your data as "first, second, third" — use a list. If you'd describe it as "this one goes with that one" — use a dictionary.

You'll get this wrong sometimes and Python will tell you, usually with a KeyError or a TypeError. That's fine. Getting it wrong once is how most people finally remember which is which.

One page of 77. That's the whole book's voice.

Python Decoded
77 pages · PDF
R349

One payment. Yours permanently, including every future update.

Get Python Decoded — R349

Instant download · Yours permanently, including updates

Outside South Africa? Buy in USD — $24 →

Where it goes next

You don't need 20 Python resources.

You need the right one at the right moment. There are three things here, and you only ever need the one that matches where you're stuck.

Start here 01
Learn

Python Decoded

The book you read cover to cover. Every core concept, explained properly, in order.

R349· $24
02
Remember

Python Flashcards

117 cards across seven categories, interactive and printable. Once a chapter clicks, these are what stop it slipping away a week later.

R199· $14
03
Get unstuck

The Troubleshooting Handbook

The reference you reach for when Python breaks. 30 errors · 37 pages, in plain English, with the cause and the fix. You keep it open beside your editor.

R149· $11

Reading it once isn’t learning it.

Two real cards from the deck. Tap one.

Two of 117 — basics, data types, built-in functions, object thinking, errors, APIs, and a set for the PCAP exam. Interactive deck plus a printable PDF.

Optional

Want the complete learning path?

All three together, if you'd rather have everything from the start.

R697
R497
$49 → $34

You save R200 · $15. One payment, yours permanently, including updates.

  • Python Decoded — 77 pages · R349
  • Python Flashcards — 117 cards · R199
  • The Troubleshooting Handbook — 30 errors · 37 pages · R149
  • Every future update, free
Get the complete learning path — R497

Instant download · Or start with Python Decoded on its own

Outside South Africa? Buy in USD — $34 →

Prices in rands for South Africa. International orders are priced in US dollars and handled by our checkout partner — you'll see the exact amount before you pay.

Is this for you?

Yes, if

  • You're starting Python with no computer science background
  • You've begun a course before and didn't finish it
  • You learn better from plain language than documentation
  • You're studying in gaps — between lectures, after work, on your phone

No, if

  • You already write Python comfortably
  • You want advanced topics — async, decorators, architecture
  • You want a job guarantee or a bootcamp
  • You want video lessons. This is all written.
Who made this

I built the guide I needed at 2am.

I'm an IT student in Johannesburg, and learning to code genuinely overwhelmed me. Not because the ideas were too hard — because everything written about them seemed designed to make me feel like I'd walked into the wrong room.

So I started writing things down the way I'd explain them to a friend, analogies and all. That became Python Decoded.

I'm further along than you and I remember the road clearly — where it got confusing, and the exact sentence that finally made each idea land. That's what's in the book.

Questions

I'm a complete beginner. Is this too advanced?

No — that's who it's written for. Python Decoded assumes you've never written a line of code. If anything, it may feel slow if you already know the basics.

Do I need to install anything first?

No. Python Decoded includes a walkthrough for getting Python running on your machine, and you can read the whole book before you install a thing.

Will this work on my phone?

Yes. The book is formatted for phone reading, and the flashcards were built for a phone first — they run in your browser, so there's nothing to install. You'll want a laptop for actually writing code, but not for the reading.

How do I receive it?

Instantly by email after checkout. Python Decoded arrives as a PDF. If you buy the flashcards or the bundle, those come as a zip containing the interactive deck, the printable PDF, and a one-page guide to opening them.

How is this different from the free guide?

The free guide covers a handful of concepts in the same analogy style — it's a real taste, not a teaser. Python Decoded is the full version: every core concept, in order, across 77 pages. If the free guide made things click, the book does that for the rest of it.

How do the flashcards work?

Two ways, and you get both. The interactive deck is a single file that opens in any browser — no app, no account, and it works offline once it's saved. You can shuffle, filter by category, and watch a progress bar move as you go. The printable PDF is the same 117 cards laid out to cut out by hand.

How do I know it'll work for me?

Read the free guide first. It's the same voice and the same approach, and it costs you nothing — that's the honest way to find out whether this works for you before spending anything.

If something is actually wrong — a file won't open, you got the wrong one, a download fails — email me and I'll sort it out or refund you. Because these are files you keep, I don't refund for change of mind. But I do want to hear what didn't land. It makes the next edition better.

From the blog

Learn before you buy — on the blog

Real Python errors, explained calmly. Free, and written for the moment you're stuck.

Not ready yet? That's fine

Start with the free one.

The Girly Guide to Python covers the first handful of concepts in the same analogy style you just read. No payment, no catch — if it helps, you'll know exactly what the full book is like.

Straight to your inbox · Unsubscribe whenever

Nobody is born knowing what a for loop is.

Everyone who writes code was once staring at a screen with absolutely no idea what it wanted. The only difference is somebody explained it to them properly.

Get Python Decoded — R349

Instant download · Yours permanently, including updates

Outside South Africa? Buy in USD — $24 →