Adam W. wrote:
I thought I knew how classes worked, but this code sample is making my second guess myself:import threading class nThread(threading.Thread): def __init__(self): threading.Thread.__init__(self) def run(self,args): print self.name print self.args pants = nThread(args=('fruit'),name='charlie') pants.start() Traceback (most recent call last): File "C:\Users\Adam\Desktop\PyTiVo\task_master.py", line 13, in <module> pants = nThread(args=('fruit'),name='charlie') TypeError: __init__() got an unexpected keyword argument 'args' Shouldn't __init__ still handle these (as per http://docs.python.org/library/threading.html#thread-objects ), even if its subclassed? I thought this was the whole idea of inheritance and overdriving.
You've overridden the __init__ method to _not_ take any arguments, and explicitly call its parent constructor not passing anything. So it shouldn't be a wonder that it won't accept any arguments.
If you don't intend to override the constructor in the parent class, simply don't define it.
-- Erik Max Francis && [email protected] && http://www.alcyone.com/max/ San Jose, CA, USA && 37 18 N 121 57 W && AIM/Y!M/Skype erikmaxfrancis I like young girls. Their stories are shorter. -- Thomas McGuane -- http://mail.python.org/mailman/listinfo/python-list
