Пожалуй, разговор о метаклассах стоит начать с многим известной цитаты Тима Питерса:
Метаклассы – это магия, о которой 99% пользователей не стоит даже задумываться. Если вам интересно, нужны ли они вам – тогда точно нет. Люди, которым они на самом деле нужны, знают, зачем, и что с ними делать.
Но за что же мы все с вами любим Python? Конечно же, в первую очередь, за его простоту (но это не про сегодняшний разговор), ну а во-вторых за его гибкость. Метаклассы - это, как раз, тот инструмент, который может добавить вашему коду гибкости, но, как известно, с большой силой приходит и большая ответственность, поэтому необходимо хотя бы на базовом уровне понимать, что такое метаклассы и зачем они могут использоваться.
Так что давайте разбираться, действительно ли эта тема настолько сложна?