- Level 0: core syntax with keywords & punctuation, indentation (import, if...)
- Level 1: a large set of built-ins (e.g. print)
- Level 2: special names with the double underlines
- Level 3: Standard Library (e.g. math)
- Level 4: 3rd Party Ecosystem (e.g. numpy, pandas, matplotlib)
Here's a Level 2 topic I've been recently working on:
I know, we don't all love those __ribs__ (special names), however that's a
benefit of Free Open Source: you can fork and adapt, take the best ideas,
and leave the rest.
This one is about how implementing __add__ gets you default behavior
for __iadd__ with no extra work, with the option to go on to add your
own __iadd__.
Kirby
[1] example of me doing that:
coming from:
(Exhibit: some Python teaching in the wild....)