Metaprogramming

The final part is the bottom of the language: where attribute access, class creation, and the rules of inheritance themselves become things you can program against. Most code never needs this. The libraries you depend on — dataclasses, attrs, ORM column descriptors, framework auto-registration — were written with these tools.