如何清除父创建时的内部 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
我有一个嵌套的 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