如何在 class 中创建 class 的实例?

How do I create instances of a class within that class?

所以我们有两个 类:TestTestManager。每个 Test 对象都应该有它的管理器,在它的 __init__ 函数上实例化。此外,为了创建一个 TestManager 对象,您需要将一个 Test 实例传递给它。

我们该怎么做?我有这个,但不起作用:

class SubTest:
    def __init__(self, test):
        print(test.getText())

class Test:
    def __init__(self):
        self.text = "Hello world!"
        SubTest(Test) # In Java this would be something like 'new SubTest(this);'

    def getText(self):
        return self.text

Test()

谢谢!

将测试传递给子测试时,将 class 称为 'self',这意味着您的代码应该看起来像这样:

class Test:
    def __init__(self):
        self.text = "Hello world!"
        SubTest(self) # Passing self, instead of 'Test'

你的完整代码如下:

class SubTest:
    def __init__(self, test):
        print(test.getText())

class Test:
    def __init__(self):
        self.text = "Hello world!"
        SubTest(self)

    def getText(self):
        return self.text

Test()