导入类变量 python



我有两个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

我尽可能地简化了我的问题。所以我的问题是为什么即使我使用init_variablesomething更新类变量A.variable我仍然B.method()返回NoneType

我稍微更改了您的代码,以便它实际上可以执行您想要的操作:

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

最新更新