我是一個初學Python的編程人員,對於我來自Java來說有些跳躍。我現在的問題是關於在Python中對常量等使用全局變量。 在Java中,我們那種有兩個想法,常量,我們可以有這樣的事情:Python全局變量用法
private static final HOME_URL_CONST = "localhost:8080";
或者,如果我們需要將值在運行時分配:
private static HOME_URL = "";
public void init(){
HOME_URL = "localhost:8080";
}
的一點是,在後者的情況下,一旦你設置了靜態變量,它就保持設置。但是在Python中,情況並非如此。如果我創建一個全局變量,然後將其分配給一個函數,那麼該變量將只在該函數內部具有賦值的值。 現在,我有這樣的事情:
def initialize():
global HOME_URL
with open("urls.txt", 'rb') as f:
HOME_URL = json.load(f.read())['urls']
這是這樣的一個可以接受的方法,還是有一些影響和副作用,我不知道的?
這很好。 Python是動態的,所有變量值也是如此。 Python中沒有「靜態最終」等價物。 –
[認爲有害的全局變量](http://c2.com/cgi/wiki?GlobalVariablesConsideredHarmful) –