在python中继承线程类

在python中继承线程类,python,multithreading,python-multithreading,Python,Multithreading,Python Multithreading,我有一些关于继承线程类的问题 class MyThread(threading.Thread): def __init__(self, num): threading.Thread.__init__(self) self.num = num def run(self): print("Thread", self.num) time.sleep(1) 为什么我不能只重写run方法? Python文档提到“Thread类表示在单独的控制线程中运行的活动。有

我有一些关于继承线程类的问题

class MyThread(threading.Thread):
  def __init__(self, num):
    threading.Thread.__init__(self)
    self.num = num

  def run(self):
    print("Thread", self.num)
    time.sleep(1)
为什么我不能只重写run方法? Python文档提到“Thread类表示在单独的控制线程中运行的活动。有两种方法可以指定该活动:将可调用对象传递给构造函数,或重写子类中的run()方法。”


为什么上面的示例代码也重写构造函数?

重写构造函数,将
num
参数从创建
MyThread
实例的位置传递到
run
方法

请注意,您不直接调用
run
方法,所以除非将任何参数存储在构造函数中,否则无法向其传递任何参数


如果不需要传递参数,则只能重写
run
方法。

重写构造函数,将
num
参数从创建
MyThread
实例的位置传递到
run
方法

请注意,您不直接调用
run
方法,所以除非将任何参数存储在构造函数中,否则无法向其传递任何参数


如果不需要传递参数,则只能重写
run
方法。

您发布的代码的来源是什么?因为您通常需要以某种方式将数据传递到
run()
?通过构造函数和类字段显式执行是最简单的方法。您发布的代码的来源是什么?因为您通常需要以某种方式将数据传递到
run()
?而通过构造函数和类字段显式地实现这一点是最简单的方法。