Python中的全局變量如何理解
Python是一種面向?qū)ο蟮拈_發(fā)語言,在函數(shù)中使用全局變量,一般應(yīng)作全局變量說明,只有在函數(shù)內(nèi)經(jīng)過說明的全局變量才能使用。
首先應(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 returnif __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 returnif __name__ == ’__main__’ : modifyConstant() print CONSTANT
內(nèi)容擴展:
什么是局部變量
通俗定義:函數(shù)內(nèi)部定義的變量就叫局部變量。
話不多說,代碼如下:
def test1(): a = 300 # 定義一個局部變量a,并初始化300 print('--test1--修改前:a=%s' % a) a = 200 # 給變量a重新賦值200 print('--test1--修改后:a=%s' % a)def test2(): a = 400 # 定義另一個局部變量a,并初始化400 print('--test2--修改后:a=%s' % a)# 分別調(diào)用函數(shù)test1,test2test1()test2()
輸出:
--test1--修改前:a=300--test1--修改后:a=200--test2--修改后:a=400
結(jié)論:
局部變量就是在函數(shù)內(nèi)部定義的變量。 不同的函數(shù)內(nèi)部可以定義名字相同的變量,但它們不會產(chǎn)生影響。 局部變量的作用,為了臨時保存數(shù)據(jù)需要在需要在函數(shù)中定義變量來進(jìn)行存儲。到此這篇關(guān)于Python中的全局變量如何理解的文章就介紹到這了,更多相關(guān)Python中全局變量詳解內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. PHP laravel實現(xiàn)導(dǎo)出PDF功能2. 使用Blazor框架實現(xiàn)在前端瀏覽器中導(dǎo)入和導(dǎo)出Excel3. python中文本字符處理的簡單方法記錄4. vscode運行php報錯php?not?found解決辦法5. Python-openpyxl表格讀取寫入的案例詳解6. Python使用Selenium自動進(jìn)行百度搜索的實現(xiàn)7. JavaScript實現(xiàn)留言板實戰(zhàn)案例8. ASP基礎(chǔ)知識Command對象講解9. JS中6個對象數(shù)組去重的方法10. 如何從Python的cmd中獲得.py文件參數(shù)

網(wǎng)公網(wǎng)安備