Mike Meyer wrote: > Built-in types don't have a real dictionary. They have a C struct that > holds the various methods. The entries in the struct are called > "slots", hence the __slots__ magic attribute. That __slots__ makes it > impossible to add an attribute is documented as an implementation > detail. This makes me think that the same restriction on the builtin > types is the same. > > FWIW, dir returns a list built from a number of source. But if you > look at, for example, list.__dict__, you'll notice that it's not a > dict. > Well, in this case, would it be simple for the OP that if he wants to disallow this attaching additional things, just use __slot__.
What I wan to say though is, if we can live with the inability of not able to attach to built-in types, why is it so difficult for other user defined class ? If the authors go to the length of not allowing it, so be it. They are afterall define it for their use and how someone else will use it don't matter. -- http://mail.python.org/mailman/listinfo/python-list