class Road(type): pass class X(): pass print(type('Hello', (), {})) print(Road('Hello', (), {})) # Equivalent to Road('Hello', (), {}) print(type(X)) print(Road(X)) # TypeError: type.__new__() takes exactly 3 arguments (1 given)