如何清除父创建时的内部 class 属性

How to clear inner class attributes on parent creation

我有一个嵌套的 class 设置,就像下面的代码片段一样。

class test:
    class child:
         some_variable = None

当我尝试从另一个 .py 文件调用此代码时,如下所示

from testing import test
t = test()
t.child.some_variable ="123"
t = test()
print(t.child.some_variable)

我得到输出

123

我希望得到 None,或者至少是一条错误消息。我试图用以下方法解决它,但问题仍然存在,输出相同。

class test:
    def __init__(self):
        self.child()
    class child:
        some_variable = None
        def __init__(self):
            self.some_variable = ""

如何在调用父项 class 时启动新的子项 class?

不将其作为内部 class,而是作为单独的 class,然后是即时属性:

class child_class:
    def __init__(self):
        self.some_variable = None

class test:

    def __init__(self):
        self.child = child_class()


t = test()
t.child.some_variable = "123"
t = test()
print(t.child.some_variable) # prints None

或者你可以有一个内部 class,但你仍然必须创建一个实例属性:

class test:
    class child_class:
        def __init__(self):
            self.some_variable = None

    def __init__(self):
        self.child = self.child_class()

t = test()
t.child.some_variable = "123"
t = test()
print(t.child.some_variable) # also prints None