要使用线程:
要么定义一个类继承threading.Thread,重写run方法;
要么创建一个threading.Thread类的对象,将你要线程执行的函数指定为target参数。
你这里定义了类ThreadClass,但没继承threading.Thread类,又指定了target,但指定的是一个类不是一个函数,所以没输出。
非要这样搞,可以改成这样:
import threading
class ThreadClass:
def __init__(self,num): self.num = num
def run(self):
print("this is def ",self.num)
n=['a','b','c','d','e']
lis=[]
for i in n:
th = threading.Thread(target=ThreadClass.run,args=(ThreadClass(i),))
lis.append(th)
for t in lis:
t.start()
for t in lis:
t.join()
缩进格式见图:
运行结果如下:
追答或者在__init__方法中调用下run方法,如下图:
看不到你的代码。可以拍个图片吗?
验证了,多谢。