metaclass는 일반적인 파이썬 사용에는 필요없는 조금은 깊이 들어가는 내용이지만, OOP적 접근을 위해 알 필요가 있어보인다. stackoverflow에 달린 설명 참조. 파이썬에서는 모든게 object이다. 클래스도 object로 생성이 되고 instance화 시킬 때, 이 object가 복사되면서 __init__ 루틴을 타게된다. 일반적인 인스턴스에 대해 어떤 클래스로부터 왔는지 알아보는 함수에 type()을 쓸 수 있는데, 그렇다면 클래스는 어떤 타입일까? 인스턴스 x의 type은 Foo인데,…