繁体   English   中英

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

[英]Set a variable from a class within a different file

我有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
...

有什么帮助吗?

根据收到的错误,您可能在某处进行了循环导入。 它与您要对课程进行的操作无关。

有关更多详细信息,请参见ImportError:无法导入名称X。

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

您的课程应如下所示:

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

然后,您可以像这样访问my_var

SomeDialog.my_var

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM