Watch it together with the written tutorial to deepen your understanding: Metaclasses in Python. The term metaprogramming refers to the potential for a program to have knowledge of or manipulate itself. Python supports a form of metaprogramming for classes called metaclasses.