Specifying __slots__ in a dynamically generated type

Steven Bethard steven.bethard at gmail.com
Sun Mar 27 16:54:35 EST 2005


Ron Garret wrote:
> I need to dynamically generate new types at run time.  I can do this in 
> two ways.  I can use the "type" constructor, or I can generate a "class" 
> statement as a string and feed that to the exec function.  The former 
> technique is much cleaner all else being equal, but I want to be able to 
> specify the __slots__ class variable for these new types, and it seems 
> that to do that I need to use the latter method.  Is that true?  Is it 
> really impossible to specify __slots__ using the "type" constructor?

Why don't you just write a function to create class objects?

def f(*params):
     class C(...):
         ... # based on params
     return C


STeVe



More information about the Python-list mailing list