我有两个python类,一个使用另一个变量
A类:
class A(object):
variable = None
@classmethod
def init_variable(cls):
cls.variable = something
B级:
variable = __import__('module').A.variable
class B(object):
@staticmethod
def method():
return variable
我尽可能地简化了我的问题。所以我的问题是,即使我使用B.method()
更新NoneType
类变量A.variable
,我仍然something
返回init_variable
答案 0 :(得分:1)
我改变了你的代码,以便它实际上做你想做的事情:
your_package / klass_A.py
class A(object):
variable = None
@classmethod
def init_variable(cls, something):
cls.variable = something
your_package / klass_B.py
from your_package.klass_A import A
class B(object):
@staticmethod
def method():
return A.variable
现在,您实际上可以更新A.variable
并使用B
中的更新变量。例如:
print B.method()
A.init_variable('123')
print B.method()
返回:
None
123