# Python — reference material This folder is a self-paced Python primer. It is **not** the spine of the class — your project is. We've put it here because some projects will need a working understanding of Python (or another language), and when that comes up it's useful to have something concrete to point at. ## When to dip in - Your project genuinely needs you to read or modify Python code, and AI explanations alone aren't sticking. - You're curious how the code AI generates for you actually works. - You want a foundation so you can steer AI more confidently. ## When *not* to dip in - Out of a sense of obligation. There's no test. Nobody is going to ask if you finished `08_classes.py`. - Before you have a problem to apply it to. These lessons are dense if you're reading them in the abstract; they click much faster when you have a concrete reason to care. ## How to run a script All scripts are standalone. From this folder: ```bash python3 01_hello_world.py ``` (Use `python` instead of `python3` on Windows if that's what your install named.) ## Lessons Work in order if you're starting from zero. Skip around if you already know parts of this. | File | Topic | |------|-------| | `01_hello_world.py` | `print()` — your first program | | `02_variables.py` | Variables, f-strings | | `03_datatypes.py` | int, float, str, bool, None; type conversion | | `04_conditionals.py` | `if`, `elif`, `else`; comparisons; logical operators | | `05_loops.py` | `for`, `while`, `break`, `continue`, `range()` | | `06_functions.py` | Defining and calling functions; parameters; return values | | `07_lists_and_dicts.py` | Core data structures; list comprehensions | | `08_classes.py` | Objects, attributes, methods, inheritance | | `09_error_handling.py` | `try`/`except`; raising exceptions | | `10_file_io.py` | Reading and writing text and CSV files | | `11_putting_it_together.py` | A complete CLI program combining everything | If Python isn't installed yet, see [`installing-python.md`](installing-python.md).