title: Equivalent of NotImplementedError for fields in Python
body: <p>In Python 2.x when you want to mark a method as abstract, you can define it like so:</p>
  
  <pre><code>class Base:
      def foo(self):
          raise NotImplementedError("Subclasses should implement this!")
  </code></pre>
  
  <p>Then if you forget to override it, you get a nice reminder exception. Is there an equivalent way to mark a field as abstract? Or is stating it in the class docstring all you can do?</p>
  
  <p>At first I thought I could set the field to NotImplemented, but when I looked up what it's actually for (rich comparisons) it seemed abusive.</p>