Cancel instance create

Aigars Aigars srad at inbox.lv
Sat Sep 6 12:31:20 CEST 2008


Good day,

I want MyClass to perform some tests and if them fail, I do not want
instance to be created. 

But in code I wrote instance is created and also has parameters, that
it should not have in case of tests failure.

Is there a way to perform tests in MyClass.__init__ and set instance
to None without any parameters?

I do not want che code outside MyClass.__init__ to know anything
about tests performed, and make decision to allow or prevent instance
creation.  

The code I wrote is:
******************************************************
class MyClass():
         def __init__(self):
                      self.param = "spam"
                      Test = False
                               if Test == True: 
                                          print "Creating
instance..."
                               return 
                         else:
                                          print "Instance creation
not allowed..."
                                          self = None
                                          return None
a = MyClass()
print a
print a.param
*************************************************

Thanks,
Aigars
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20080906/cff73ef6/attachment.html>


More information about the Python-list mailing list