我的代码有点问题。
我有两个类A和B。类A正在生成具有动态数量的类B实例的列表。例如:
class A:
listTest = []
def Foo(self):
for i in range (5):
self.listTest.append(B())
class B:
def Bar (self):
status = A.listTest[3]
现在,我需要在B类中提供有关同一类的其他实例的某些信息,或者更确切地说是与该A类实例的其他listTest条目有关的信息。
有什么办法吗?
我已经尝试使用get函数来返回所有特殊值,但这是行不通的。
答案 0 :(得分:0)
也许您正在尝试做这样的事情?
class A:
list_test = []
def foo(self):
for i in range(5):
self.list_test.append(B())
class B:
def bar(self, A_instance):
status = A_instance.list_test[3]
return status
A_instance = A()
A_instance.foo()
B_instance = B()
print(B_instance.bar(A_instance))
答案 1 :(得分:0)
在A.Foo
方法内,您正在填充类级变量self
的对象(listTest
)副本。因此,在类B
中,您需要初始化类A
的实例以调用Foo
并填充列表。例如,
class B:
def Bar (self):
a = A()
a.Foo()
status = a.listTest[3]
应该给你一个提示。
您将访问IndexError
,因为A.listTest[3]
是一个空列表,因此您当前的工具会引发A.listTest
。您需要通过在Foo()
的实例上调用A
来填充列表。