可以從另一個文件修改實例變量嗎?從另一個文件修改實例變量?
我想要的是從File_2中修改File_1中的實例變量。
例如:
//File 1
import File_2
class Main:
def __init__(self):
self.example = "Unmodified"
def modify(self):
File_2.modify()
main = Main()
main.modify()
//File 2
import File_1
def modify():
File_1.main.example = "Modified"
這給了我下面的輸出:
Traceback (most recent call last):
File "File_1.py", line 4, in <module>
import File_2
File "File_2.py", line 3, in <module>
import File_1
File "File_1.py", line 14, in <module>
main.modify()
File "File_1.py", line 11, in modify
File_2.modify()
AttributeError: 'module' object has no attribute 'modify'
爲什麼?
EDIT(更好地說明):
主類(在文件1)的實例有一個變量;我想要的是從另一個文件(文件2)修改該變量。我修改一點點代碼:
//File 1
import File_2
class Main:
def __init__(self):
self.example = "Unmodified"
def modify(self):
File_2.modify()
if __name__ == "__main__":
main = Main()
main.modify()
//File 2
def modify():
//do some stuff
//now I want to modify the example variable from the main class, but how?
感謝您的回答,我編輯了這個問題來解釋更好。 – Adrian 2012-03-02 03:45:08
我們可以低估你想要的 - 而且我們都回答了你的問題 - 切斷了循環導入,你的代碼也能正常工作。 – jsbueno 2012-03-02 05:27:40
@Adrian:* jsbueno *是對的,你*有* *刪除你的循環進口。我編輯了我的答案,在那裏拋出了一些例子(沒有你的實際代碼有點難以幫助你)。 – 2012-03-02 11:04:34