Python 如何使用线程从另一个类访问列表
我被困在从我的主类的另一个类访问列表中。这不是我的实际代码,而是一个示例,以便在这里获得帮助。我的问题是如何在头等舱内访问我的_列表?我尝试了不同的方法,但没有成功。 在我的实际代码中,当我按下GUI按钮(wxpython)时,myfunc被触发,这就是为什么您会在那个里看到事件。 另外,如果我有第三个类,比如说第三个类,我如何访问该类中的_列表Python 如何使用线程从另一个类访问列表,python,list,class,Python,List,Class,我被困在从我的主类的另一个类访问列表中。这不是我的实际代码,而是一个示例,以便在这里获得帮助。我的问题是如何在头等舱内访问我的_列表?我尝试了不同的方法,但没有成功。 在我的实际代码中,当我按下GUI按钮(wxpython)时,myfunc被触发,这就是为什么您会在那个里看到事件。 另外,如果我有第三个类,比如说第三个类,我如何访问该类中的_列表 from threading import Thread class First: def __init__(self):
from threading import Thread
class First:
def __init__(self):
self.var1 = 'hello'
def myfunc(self,event):
Second(self.var1)
class Second(Thread):
def __init__(self, var1):
self.var1 = var1
self.my_list = []
Thread.__init__(self)
self.start() # start the thread i.e. run()
#----------------------------------------------------------------------
def run(self):
self.my_list.append(self.var1)
您需要“第二个”对象(类的实例)来访问其属性。如果以后要访问此实例中的某些内容,应将在“myfunc”中创建的实例存储在对象变量中。我确实尝试过obj=Second(self.var1),但obj.my_list出现了错误线程是否会导致任何问题?如果可能,请共享示例代码“obj.my_list was giving error”共享代码和错误。对我来说很好:
from threading import Thread
class First:
def __init__(self):
self.var1 = 'hello'
def myfunc(self,event):
Second(self.var1)
class Second(Thread):
def __init__(self, var1):
self.var1 = var1
self.my_list = []
Thread.__init__(self)
self.start() # start the thread i.e. run()
#----------------------------------------------------------------------
def run(self):
self.my_list.append(self.var1)
class Third:
var = 1
obj = Second(var)
print(obj.my_list)