
在python程式設計中,一般使用global 關鍵字來定義全局變量,但是發現 global 關鍵字在涉及多個檔案時,好像存在問題。
比如,單個檔案下用global定義使用全局變量的情況 ,看下面的代碼
程式運作結果如下:全局變量運作正确
下面把上述代碼拆分成兩個檔案,
data_def.py
和
main.py
,
data_def.py
定義全局變量
distance
和類 ,
main.py
導入
data_def.py
。
data_def.py
檔案代碼如下:
main.py檔案代碼如下:
程式運作結果:
兩次運作的結果存在出入,可以發現,用global 在不同檔案間操作全局變量時,生成的結果和我們想象的不太一樣,具體原因還不明确??知道原因的歡迎留言。
為此,可以考慮用類變量來定義全局變量。實作方式看以下代碼。
第一個檔案(
data_def.py
)定義兩個類,第一個類定義全局變量distance ,第二個類為普通操作類
第二個檔案(main.py) 導入第一個檔案定義的類,并進行變量操作
程式執行輸出結果:
從輸出結果可以看出,利用類變量的方式也可以實作全局變量的定義,并且可以跨檔案操作。