python中的全局變量用法分析
本文實例分析了python中的全局變量用法。分享給大家供大家參考。具體分析如下:
Python是一種面向?qū)ο蟮拈_發(fā)語言,在函數(shù)中使用全局變量,一般應(yīng)作全局變量說明,只有在函數(shù)內(nèi)經(jīng)過說明的全局變量才能使用,這里就來介紹下Python全局變量有關(guān)問題。
首先應(yīng)該說明的是需要盡量避免使用Python全局變量。不同的模塊都可以自由的訪問全局變量,可能會導(dǎo)致全局變量的不可預(yù)知性。對全局變量,如果程序員甲修改了_a的值,這時可能導(dǎo)致程序中的錯誤。這種錯誤是很難發(fā)現(xiàn)和更正的。
全局變量降低了函數(shù)或模塊之間的通用性,不同的函數(shù)或模塊都要依賴于全局變量。同樣,全局變量降低了代碼的可讀性,閱讀者可能并不知道調(diào)用的某個變量是全局變量。 但是某些時候,Python全局變量能夠解決局部變量所難以解決的問題。事物要一分為二。 python里面全局變量有兩種靈活的用法:
gl.py:
gl_1 = 'hello' gl_2 = 'world'
在其它模塊中使用
a.py:
import gl def hello_world() print gl.gl_1, gl.gl_2
b.py:
import gl def fun1() gl.gl_1 = 'Hello' gl.gl_2 = 'World' def modifyConstant() : global CONSTANT print CONSTANT CONSTANT += 1 return if __name__ == '__main__' : modifyConstant() print CONSTANT
1 聲明法
在文件開頭聲明Python全局變量variable, 在具體函數(shù)中使用該變量時,需要事先聲明 global variable,否則系統(tǒng)將該變量視為局部變量。 CONSTANT = 0 (將全局變量大寫便于識別)
2模塊法(推薦)
推薦!
gl.py:
gl_1 = 'hello' gl_2 = 'world'
在其它模塊中使用
a.py:
import gl def hello_world() print gl.gl_1, gl.gl_2
b.py:
import gl def fun1() gl.gl_1 = 'Hello' gl.gl_2 = 'World' def modifyConstant() : global CONSTANT print CONSTANT CONSTANT += 1 return if __name__ == '__main__' : modifyConstant() print CONSTANT
希望本文所述對大家的Python程序設(shè)計有所幫助。
相關(guān)文章
Pandas中的loc與iloc區(qū)別與用法小結(jié)
loc函數(shù):通過行索引 “Index” 中的具體值來取行數(shù)據(jù)(如取"Index"為"A"的行)而iloc函數(shù):通過行號來取行數(shù)據(jù)(如取第二行的數(shù)據(jù)),這篇文章介紹Pandas中的loc與iloc區(qū)別與用法,感興趣的朋友一起看看吧2024-01-01python發(fā)送郵件示例(支持中文郵件標(biāo)題)
python發(fā)送中文郵件示例,支持中文郵件標(biāo)題和中文郵件內(nèi)容。支持多附件。根據(jù)用戶名推測郵件服務(wù)器提供商2014-02-02Python3中條件控制、循環(huán)與函數(shù)的簡易教程
這篇文章主要給大家介紹了關(guān)于Python3中條件控制、循環(huán)與函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11使用TensorFlow直接獲取處理MNIST數(shù)據(jù)方式
今天小編就為大家分享一篇使用TensorFlow直接獲取處理MNIST數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02