title: Should __ne__ be implemented as the negation of __eq__?
body: <p>I have a class where I want to override the <code>__eq__</code> method. It seems to make sense that I should override the <code>__ne__</code> method as well. Should I implement <code>__ne__</code> as the negation of <code>__eq__</code> as such or is it a bad idea?</p>
  <pre class="lang-py prettyprint-override"><code>class A:
  
      def __init__(self, state):
          self.state = state
  
      def __eq__(self, other):
          return self.state == other.state
  
      def __ne__(self, other):
          return not self.__eq__(other)
  </code></pre>