导入 class 变量 python

Importing class variable python

我有两个python classes,一个使用另一个的变量

class答:

class A(object):

    variable = None

    @classmethod
    def init_variable(cls):
        cls.variable = something

class乙:

variable = __import__('module').A.variable

class B(object):

    @staticmethod
    def method():
        return variable

我尽可能地简化了我的问题。所以我的问题是为什么即使我使用 init_variable[=19= 将 A.variable class 变量更新为 something,我仍然有 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()

returns:

None
123