Programming · 5 modules

Python Fundamentals

The most-loved general-purpose language, explained from the ground up. Learn types and data structures, control flow, functions, OOP and the classic gotchas — and remember it with spaced repetition.

flashcards
80
flashcards
per day
~10 min
per day
level
Beginner
level
modules
5
modules
About this topic

What is Python?

Python is a general-purpose language famous for reading almost like plain English — and for being the lingua franca of data science, machine learning, automation and a huge share of backend development. Whether you are scripting a one-off task or building with LLMs, Python is usually the shortest path from idea to working code.

The fundamentals are where Python rewards precision. Knowing that a list is mutable and a tuple is not shapes how you model data; comprehensions and generators change how you write loops; and the classic gotchas — mutable default arguments, is vs ==, why 0.1 + 0.2 != 0.3 — stop being surprises and become things you simply know.

This track breaks the basics into five modules of bite-sized, practical questions — types and data structures, control flow and comprehensions, functions and scope, classes and OOP, and the idioms that make code Pythonic — and uses spaced repetition so the rules move from "I looked that up" to fluent recall.

What you'll learn

5 modules, seed to bloom

Each module is a set of flashcards — 80 in total. Answer, review, and watch your knowledge grow from seed to full bloom.

Types & Data Structures

Core built-in types — lists, tuples, dicts, sets, strings, and how mutability works

16 cards

Control Flow & Comprehensions

Conditionals, loops, comprehensions, exceptions, and pattern matching

16 cards

Functions & Scope

Defining functions — arguments, scope, closures, decorators, and generators

16 cards

Classes & OOP Basics

Classes, instances, inheritance, dunder methods, and Python's object model

16 cards

Idioms & Gotchas

Truthiness, common gotchas, and the idioms that make code Pythonic

16 cards
Try before you plant

Sample questions

A taste of the real flashcards. Pick an answer, then reveal the explanation.

Sample · Python Fundamentals

What is the key difference between a list and a tuple?

  • AA list is mutable while a tuple is immutable and cannot be changed after creation
  • BA list stores mixed data types while a tuple only accepts items of one single type
  • CA list is ordered while a tuple stores its items in an unpredictable internal order
  • DA list can be nested while a tuple is limited to a flat sequence of simple values
Permalink & share
Sample · Python Fundamentals

Which numbers does range(5) produce?

  • A0, 1, 2, 3, 4 — the sequence starts at zero and excludes the stop value
  • B1, 2, 3, 4, 5 — the sequence starts at one and includes the stop value
  • C0, 1, 2, 3, 4, 5 — the sequence covers every number up to and including 5
  • D5, 4, 3, 2, 1 — the sequence counts down from the argument toward one
Permalink & share
Sample · Python Fundamentals

When is a default parameter value evaluated?

  • AOnce, when the function is defined — the same object is reused on every call
  • BOn every call that omits the argument — a fresh object is built each time
  • COn the first call only — later calls reuse the value cached at that point
  • DLazily on first use in the body — untouched defaults are never evaluated
Permalink & share
Sample · Python Fundamentals

Why does 0.1 + 0.2 == 0.3 evaluate to False?

  • ABinary floats can't represent those decimals exactly — tiny rounding errors remain
  • BPython compares floats by identity — equal values still live in distinct objects
  • CThe literals parse as strings first — arithmetic concatenates before converting
  • DAddition promotes the result to double precision — the comparison spans two types
Permalink & share
How Gnoseed works

Learn it once, keep it for good

1

Answer a question

Each card is one practical concept with multiple options. Pick what you think is right.

2

Get the full answer

See the correct option plus a clear explanation, and a link to deeper docs when one is available.

3

Review at the right time

A spaced-repetition engine (SM-2 or FSRS) resurfaces each card just before you would forget it.

Why learn this

Why Python is worth your time

The default language of AI

Machine learning, data pipelines and LLM tooling all speak Python. Fluency here compounds across the entire AI ecosystem.

Readable, fast to write

Python’s clean syntax means less boilerplate and faster iteration — ideal for scripts, automation and prototypes alike.

Fewer bugs from gotchas

Mutable defaults, is vs ==, float equality — knowing the classic traps is how you stop chasing surprising bugs.

Interview-ready

Comprehensions, closures, decorators and the GIL are perennial favorites in Python interviews at every level.

FAQ

Common questions

Do I need prior programming experience? +

No. The track starts from core types and basic syntax, so motivated beginners can follow along — while experienced developers can use it to firm up the details they half-remember.

Does it cover the tricky parts like mutable default arguments? +

Yes. A dedicated Idioms & Gotchas module covers mutable defaults, is vs ==, truthiness, float comparisons, the GIL and more — exactly the fundamentals that trip people up.

Is it free? +

Yes, completely free. No registration or credit card is required, and all your progress is stored locally in your browser.

How long does it take? +

About 10 minutes a day. Spaced repetition means short, frequent sessions beat long cramming, so the syntax and idioms stick.

Ready to master Python?

Plant your first seed today. Ten minutes a day is all it takes to grow real, lasting Python fluency.

Start learning free