class ExampleClass():
def Example(self):
self.nestedinstance = self.NestedClass()
self.nestedinstance.makenew()
class NestedClass():
def makenew(self):
newclass = NestedClass()
ExampleClass().Example()
当我运行上面的代码时,出现异常:name 'NestedClass' is not defined
是否有其他方法可以使用嵌套类执行此操作,还是我做错了什么?
最佳答案
理想情况下,如果创建一个新实例,您希望使用类方法,这是您如何做的示例:
class NestedClass():
@classmethod
def makenew(cls):
newclass = cls()
或者,如果您想使用当前实例创建一个实例(例如,如果您需要传入一些参数),那么您可以使用 type(self)
或 self.__class__
.
class NestedClass():
def makenew(self):
newclass = type(self)()
虽然不知道您的用例,但这可能不是您想要的。
关于python - 如何在 Python 中从该类中创建嵌套类的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68910208/