Python和全局變數
最新
09-09
在Python中使用函數為全局變數賦值時遇到的問題和解決方法。
最近在寫Python代碼調用函數來為全局變數賦值時遇到了一個問題。這段簡單的代碼可以表述這個問題:
運行時,這一段代碼並沒有生效,因為當調用 load_data_into_list()函數後列表仍然是空的,但我一直沒有意識到這個問題直到把我這個列表(包含一些新數據)存進同一個文件。我發現舊數據被清除了,僅有新數據被保留下來。所以我做了一些調試,發現當我調用這個函數的時候,列表還是空的。因為雖然我想要把數據載入進全局變數 load_data_into_list(),但是Python創造了另一個僅僅在這一個函數局部範圍內的變數list_with_data。很幸運,這個問題可以被輕易解決:
global關鍵字可以使解釋器知道我想調用全局變數。
但當你有許多的全局變數時,那麼給他們寫很多個global語句去調用全局變數是非常困難的。當編碼中有很多的全局變數時,我會把他們放在了一個類里,就像這樣:
通過調用這個類,你就再也不需要使用global關鍵字了,這避免了你寫十行代碼只為了告訴解釋器你想要調用全局變數,大大節省了時間。
英文原文:https://www.codeproject.com/Articles/840773/Python-and-Global-Variables
譯者:王二二
點擊展開全文
※Python為何在高收入國家野蠻生長?
※黑客利用Python和C實現syn flood攻擊
※Python內置數據結構之迭代器知多少?
※Day 5 Python數據運用的初級水準,你達到了嗎?
※學Python語言到底好不好?
TAG:Python |