Я уверен, что вам это на самом деле не нужно, и есть другие способы решения вашей задачи (не подкласс, а реальная задача).
Если вам действительно нужно смоделировать объект, используйте прокси-объект:
from socket import socket
class PolySocket(object):
def __init__(self, *p):
print "PolySocket init"
self._sock = socket(*p)
def __getattr__(self, name):
return getattr(self._sock, name)
def sendall(self, *p):
print "PolySocket sendall"
return self._sock.sendall(*p)
def send(self, *p):
print "PolySocket send"
return self._sock.send(*p)
def connect(self, *p):
print "connecting..."
self._sock.connect(*p)
print "connected"
HOST = "stackoverflow.com"
PORT = 80
readbuffer = ""
s = PolySocket()
s.connect((HOST, PORT))
s.send("a")
s.sendall("a")
Вот вывод:
% python foo.py
PolySocket init
connecting...
connected
PolySocket send
PolySocket sendall