title: Why can't I override this method in python?
body: <p>I'm trying to override a python class (first time doing this), and I can't seem to override this method.  When I run this, my recv method doesn't run.  It runs the superclasses's method instead.  What am I doing wrong here?  (This is python 2.7 by the way.)</p>
  
  <pre><code>import socket
  
  class PersistentSocket(socket.socket):
      def recv(self, count):
          print("test")
          return super(self.__class__, self).recv(count)
  
  if __name__ == '__main__':
      s = PersistentSocket(socket.AF_INET, socket.SOCK_STREAM)
      s.connect(('localhost', 2300))
      print(s.recv(1)
  </code></pre>