preventing creation of instance

Peter Hansen peter at engcorp.com
Wed Jun 18 03:17:39 CEST 2003


Alexander Schmolck wrote:
> 
> Peter Hansen <peter at engcorp.com> writes:
> > I believe raising any exception in __init__ is the way to prevent
> > the creation of the object.  I don't think you can do this with
> > a technique that returns None, unless you are actually calling
> > a factory function which internally attempts to create the object
> > and catches the exception thrown, returning None if it happens.
> 
> >>> class Test(object):
> ...    def __new__(cls): return None
> ...
> >>> Test()
> >>>
> 
> see http://www.python.org/2.2/descrintro.html#__new__

D'oh!  I really ought to find a reason to learn about the
"__new__-fangled" methods in the latest Python releases...  

I just can't seem to find a reason to use them though (yet).

-Peter




More information about the Python-list mailing list