小編給大家分享一下Python中局部變量和全局變量的定義:,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)公司專注于網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站開發(fā)。公司秉持“客戶至上,用心服務(wù)”的宗旨,從客戶的利益和觀點(diǎn)出發(fā),讓客戶在網(wǎng)絡(luò)營銷中找到自己的駐足之地。尊重和關(guān)懷每一位客戶,用嚴(yán)謹(jǐn)?shù)膽B(tài)度對待客戶,用專業(yè)的服務(wù)創(chuàng)造價(jià)值,成為客戶值得信賴的朋友,為客戶解除后顧之憂。
我們先來看一下局部變量和全局變量的定義:
局部變量:在函數(shù)中定義的變量,作用域是當(dāng)前函數(shù),只對當(dāng)前函數(shù)起作用。
全局變量:在代碼開頭定義的變量,作用域是整段代碼,對整段代碼起作用。
先看下面的實(shí)例, 最后給結(jié)論。
name = 'PythonTab' def func1(): print('my name is %s' %(name)) name = 'PythonTab.com' print('my name is %s' %(name)) func1() print(name)
輸出結(jié)果
my name is PythonTab my name is PythonTab.com default
結(jié)論:當(dāng)全局變量和局部變量相同時(shí),函數(shù)內(nèi)部優(yōu)先使用局部變量, 如果沒有局部變量則使用全局變量
如果我們想在函數(shù)內(nèi)部,使局部變量對全局變量產(chǎn)生作用,那么我們可以在函數(shù)中使用gloabl,下面我們來看
name = 'default' def func2(): global name name = 'PythonTab.com' print(name) func2() print(name)
輸出結(jié)果
PythonTab.com PythonTab.com
我們再來看
nameList =['Python','Tab','.com'] def func3(): nameList[0] = 'python' func3() print(nameList)
輸出結(jié)果
['python','Tab','.com']
nameList =['Python','Tab','.com'] def func4(): nameList = [] func4() print(nameList)
輸出結(jié)果
['Python','Tab','.com']
這里可以看到nameList這個(gè)全局變量改變了,函數(shù)內(nèi)部沒有調(diào)用global,卻改變了全局變量。因?yàn)樵趐ython中,列表、字典等如果只是修改其中元素的值,可以不用gloabl,如果是修改整個(gè)列表,必須是有g(shù)loabl。
nameList =['Python','Tab','.com'] def func5(): gloabl nameList nameList = [] func5() print(nameList)
總結(jié):局部函數(shù)只作用于該函數(shù)內(nèi),全局函數(shù)作用于整段代碼,如果要在函數(shù)內(nèi)修改全局變量的值,使用gloabl。如果只修改列表,字典等中的某個(gè)值,可以不用global也可以修改全局變量。
以上是“Python中局部變量和全局變量的定義:”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!