2
我编写了一个简单的程序,通过子类threading.Thread
来使用线程。如果我使用threading.Thread.__init__()
直接,那么有没有错误为什么super().__ init__在子类化threading.Thread时不起作用?
TypeError: __init__() got multiple values for keyword argument 'group'
:但是,如果使用super()
调用它的父类,即threading.Thread
的__init__
方法,我得到这个错误。
我的代码:
class MyThread(threading.Thread):
def __init__(self, group=None, target=None, name=None, args=(),
kwargs=None, verbose=None):
super(MyThread, self).__init__(self, group=group, target=target,
name=name, args=args, kwargs=kwargs,
verbose=verbose)
# threading.Thread.__init__(self, group=group, target=target,
# name=name, args=args, kwargs=kwargs,
# verbose=verbose)
self.args = args
def run(self):
print('a thread %d' % (self.args[0],))
if __name__ == '__main__':
for i in xrange(5):
thread = MyThread(args=(i,))
thread.start()
线程混淆了所有的自己。有人只是把*超级放入混音中。 –
我明白了。非常感谢:D – flyer