python - 我的类从 Thread 继承所有参数(带有守护进程的 TypeError)
问题描述
我写了一个类,并希望它继承线程的所有参数。
class ThreadExtension(threading.Thread):
def __init__(self, group=None, target=None, name=None, args=(), kwargs={}, *, daemon=None):
threading.Thread.__init__(self, group, target, name, args, kwargs, daemon)
def run(self):
if self._target is not None:
self.extension.result = self._target(*self._args, **self._kwargs)
但我有错误:
TypeError: __init__() takes from 1 to 6 positional arguments but 7 were given
我很困惑。daemon
如果我从中删除__init__
- 一切都很好。为什么我不能添加daemon
?
解决方案
之后的任何参数*
都必须列为关键字参数。所以你必须调用__init__
如下
threading.Thread.__init__(self, group, target, name, args, kwargs, daemon=daemon)