我有一个嵌套的类设置,如下面的代码片段。
class test:
class child:
some_variable = None
当我尝试从另一个.py文件中调用此代码时,如bellow
from testing import test
t = test()
t.child.some_variable ="123"
t = test()
print(t.child.some_variable)
我得到了输出
123
我希望得到无,或者至少是错误消息。我试图用以下方法解决它,但问题仍然存在相同的输出。
class test:
def __init__(self):
self.child()
class child:
some_variable = None
def __init__(self):
self.some_variable = ""
当我调用父类时,如何启动新的子类?
答案 0 :(得分:0)
不要将它作为一个内部类,而是作为一个单独的类,然后是一个即时属性:
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 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