从不同文件中的类设置变量

时间:2018-03-24 13:45:30

标签: python-3.x variables import

我有2个文件:

  

fileA.py

  

fileB.py

我正在尝试从fileA内的函数设置(更改)fileB的变量。我想要改变的变量是在一个类中(我相信该变量是一个Class变量)。我尝试在fileA内导入fileB,但收到了错误。

# fileA:
...
class SomeDialog(QDialog):
    my_var = 0
...


# fileB:
...
from fileA import SomeDialog as sd
    def my_func():
        sd.my_var = 5
...

任何帮助?

3 个答案:

答案 0 :(得分:1)

根据你得到的错误,你可能在某处有循环导入。它与您尝试对您的课程无关。

有关详细信息,请参阅ImportError: Cannot import name X

如果是这种情况,解决问题的唯一方法就是更改文件结构。

答案 1 :(得分:0)

你的课应该是这样的:

class SomeDialog(QDialog):
    def __init__(self):
        self.my_var = 0

然后您可以像这样访问my_var

SomeDialog.my_var

答案 2 :(得分:0)

类变量是在类内定义的,但是在类的任何方法之外。不使用类变量。所有类实例中的类变量值均相同

A.py

from B import SomeDialog as sd
def my_func():
    print sd.my_var
    sd.my_var = 5
    return sd 
_my_func = my_func()
print _my_func.my_var

B.py

class SomeDialog(object):
    my_var = 0

#output

0
5