簡體   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