我写了一个类,希望它继承Thread的所有参数。
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
我很困惑。如果我从__init__
中删除daemon
,一切都很好。为什么我不能添加daemon
?
*
之后的任何参数都必须列为关键字参数。因此,您必须按照以下调用__init__
threading.Thread.__init__(self, group, target, name, args, kwargs, daemon=daemon)