python这个代码没输出,没报错,怎么改?

如题所述

要使用线程:

要么定义一个类继承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方法,如下图:

追问

看不到你的代码。可以拍个图片吗?

验证了,多谢。

温馨提示:答案为网友推荐,仅供参考
相似回答