title: Possible to prevent init from being called?
body: <p>I'm editing the original question because we're all focusing on SHOULD you ever want to do this.  My question is simply CAN I do this and HOW (understanding that there may be several solutions).  So I'm just going to leave the actual question and cut out the background.</p>
  
  <p>Suppose I have a base class and a child class.  Is there anything I can do in the base class to prevent __init__ from being called on the child class - or at least throw an exception or even log if __init__ exists or is called on the child class?  I do want the __init__ method to be called on the parent class.</p>
  
  <p><strong>Edit/Conclusion</strong> - After exploring the options presented in the answers, I decided that doing this would be bad style.  I will solve my problem a different way.  Nonetheless, hopefully the answers below are helpful in case someone else wants to do this.</p>