我需要跨文件访问变量,我该怎么办?

I need to access variables across files, what should I do?

如何让 MyClassB 访问 MyClassAC 中的 dict k

我有两个文件,第一个文件是MyClassB.py,内容如下:

class MyClassB:
    print('This is MyClassB!')

    @classmethod
    def run(cls):
        for _i in cls.codes:
            print(k[_i])  #  What code should I write here to access k defined in MyClassAC?

#If k is relatively large, will it affect performance if it is written in the class attribute?

主文件内容MyClassAC.py如下:

from MyClassB import MyClassB


class MyClassA:
    codes = range(3)
    print('This is MyClassA!')


class MyClassC(MyClassB, MyClassA):
    print('This is MyClassC!')
    pass


k = {}
for i in MyClassC.codes:
    k[i] = MyClassC

MyClassC.run()

您可以将 k 传递给 run() 方法:

class MyClassB:
    print('This is MyClassB!')

    @classmethod
    def run(cls, k):
        for _i in cls.codes:
            print(k[_i])

调用可以这样修改:

k = {}
for i in MyClassC.codes:
    k[i] = MyClassC

MyClassC.run(k)