In [47]: def dictify( someclass): ....: class mydict( object): ....: def __getitem__( self, name): ....: return getattr( self, name) ....: return type( "anonymous", ( someclass, mydict), {}) ....: In [48]: class foo( object): ....: def __init__(self): ....: self.x="test" ....: ....: In [49]: bar = dictify( foo)() In [50]: bar Out[50]: <__main__.anonymous object at 0xb79a16ec> In [51]: bar["x"] Out[51]: 'test'