2017-08-10 136 views
1

如何使用python 3從另一個腳本導入變量?如何從另一個腳本中導入變量python 3

例子:

我有兩個腳本,我們稱之爲script_1.pyscript_2.py

script_1.py:

class Calculate(): 
    def addition(): 
     a = 5 
     b = 2 
     c = a + b 

問:我如何使用這第二個腳本(script_2.py)打印變量cscript_1.py

回答

0

你不能這樣做,因爲c不是全局變量,甚至不存在於addition之外。即使它確實存在於你的類之外,那麼addition方法(它應該是def addition(self)或順便用@staticmethod裝飾器聲明)不會改變它,因爲它沒有被聲明爲全局變量。

腳本1

class Calculate(): 
    @staticmethod 
    def addition(): 
     a = 5 
     b = 2 
     c = a + b 
     return c 

腳本2

from script_1 import Calculate 

print(Calculate().addition()) 

將輸出的c的值(例如7)。

如果需要一個全局變量(你幾乎可以肯定沒有):

腳本1

c = None 

class Calculate(): 
    @staticmethod 
    def addition(): 
     global c 
     a = 5 
     b = 2 
     c = a + b 

腳本2

from script_1 import c, Calculate 

Calculate().addition() 
print(c) 

你真的不應該這樣做。全球變量可能導致嚴重問題。全球常數然而通常是好的。

相關問題