bruno at modulix wrote: > TG wrote: >> Hmm ... I'm definitely not a python wizard, but it seems to be quite a >> special case that breaks the rules ... > > Yes and no. The primary use case for __new__ was to allow subclassing of > immutable types. array.array is not immutable, but it's still a special > case, in that it enforce type-based restrictions. The alternative is to either: 1) Allow arrays that have no type. or 2) Allow arrays that change type. Neither is a tasty alternative. __new__ sets the stuff that must be invariant (and for an array, that is the element type), and __init__ does any further initialization (initialization should be re-runnable). In the case of array, filling the array with data seems a great use of __init__.
-- -Scott David Daniels [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list