2017-06-13 30 views
-1

我有一個文件example1.py它看起來像一個函數:如何導入全局變量到其他程序

def A(): 
    global var 
    .... 
    def B(): 
    ..... 
     return x 
    #calculations using var,function B 
    return var 

def C(var): 
.... 
    return something 

我想用導入所有功能集成到其他文件example2.py

from example1 import * 

我看到函數A在example2.py中正常工作,但函數C沒有返回期望值。我的進口有什麼問題?

+2

請顯示'example2.py'內容。 –

+0

我會建議傳遞使用全局函數的結果並不是最好的工作方式。每個函數都應該使用一些參數並返回結果,就像您使用'return var'完成的一樣[ – scotty3785

+0

]相關[question](https://stackoverflow.com/q/4020419/1435475)。 – guidot

回答

1

您通常應該避免使用全局變量在模塊之間傳遞函數的結果。

考慮下面的例子

file1.py

def add(num1,num2): 
    var = num1 + num2 
    return var 

main.py

from file1 import add 

result = add(5,6) 
print(result) 

內部file1.py加法功能由main.py.進口main.py然後使用該函數並將兩個參數傳遞給它(5和6)。 add進行計算並將結果存儲在result中,以便在main.py中進一步使用。

這是任何語言的基本編碼技巧,您的問題表明您應該閱讀大量python教程並充分理解它們。許多其他堆棧溢出用戶不會像我剛剛那樣有用,並希望您在提出問題之前知道語言的基礎知識。