title: Is there a way to stop the __init__ method from executing?
body: <p>I have a class <code>Point</code>. Its <code>__init__</code> method checks if there is a point on turtle canvas. If it finds that it is there already, I need to prevent the init from any further execution.</p>
  
  <pre><code>points = []
  class Point():
      def __init__(self, pen, points=points):
          self.x = pen.xcor()
          self.y = pen.ycor()
          for point in points:
              if point == (self.x, self.y, pen):
              # here, I need to stop __init__ from executing
              return True# this raises an error, but does not stop
              #the function the way I want
          points.append((self.x, self.y, pen))
          self.pen = pen
          self.get()
  
  point1 = Point(p)
  </code></pre>
  
  <p>Here's what I get:</p>
  
  <pre><code>Traceback (most recent call last):
    File "&lt;pyshell#2&gt;", line 1, in &lt;module&gt;
      point1 = Point(p)
  TypeError: __init__() should return None, not 'bool'
  </code></pre>