获取不同类别的值

时间:2019-01-10 06:28:47

标签: python python-3.x

我的代码有点问题。

我有两个类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函数来返回所有特殊值,但这是行不通的。

2 个答案:

答案 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来填充列表。