如何在 class 中创建 class 的实例?
How do I create instances of a class within that class?
所以我们有两个 类:Test
和 TestManager
。每个 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()
所以我们有两个 类:Test
和 TestManager
。每个 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()