Python 中的 global 標(biāo)識(shí)對(duì)變量作用域的影響
global 標(biāo)識(shí)用于在函數(shù)內(nèi)部,修改全局變量的值。
我們可以通過以下規(guī)則,來(lái)判定一個(gè)變量到底是在全局作用域還是局部作用域:
- 變量定義在全局作用域,那就是全局變量。
- 變量在函數(shù)中定義,并且加了 global 標(biāo)識(shí),就是全局變量。
- 如果變量在函數(shù)中僅做了定義,那么就是局部變量。
- 如果變量在函數(shù)中僅僅是使用,那么就是全局變量。
下面的示例,有助于理解上述規(guī)則:
def cook():
global dumplings
dumplings = '10' # 全局變量
print('cook():' + dumplings)
def cook2():
dumplings = '22' # 局部變量
print('cook2():' + dumplings)
def cook3():
print('cook3():' + dumplings) # 全局變量
dumplings = 3 # 全局變量
cook()
print('global:' + dumplings)
cook3()
cook2()
運(yùn)行結(jié)果:
cook():10 global:10 cook3():10 cook2():22
注意:在函數(shù)中,如果在變量定義之前先使用它,就會(huì)拋錯(cuò):
def cook(): print(dumplings) dumplings = 'local' dumplings = 'global' cook()
運(yùn)行結(jié)果:
UnboundLocalError: local variable 'dumplings' referenced before assignment
因?yàn)樵诤瘮?shù)中,存在對(duì) dumplings 的定義賦值語(yǔ)句,所以被認(rèn)為是局部變量。所以在定義之前,先訪問這個(gè)局部變量就會(huì)拋錯(cuò)。
總結(jié)
以上所述是小編給大家介紹的Python 中的 global 標(biāo)識(shí)對(duì)變量作用域的影響,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
python學(xué)習(xí)之第三方包安裝方法(兩種方法)
這篇文章主要介紹了python學(xué)習(xí)之第三方包安裝方法,最近在學(xué)習(xí)QQ空間、微博(爬蟲)模擬登錄,都涉及到了RSA算法。這樣需要下一個(gè)RSA包(第三方包),在網(wǎng)上搜了好多資料,在此做了總結(jié),需要的朋友可以參考下2015-07-07
詳解Python中的from..import絕對(duì)導(dǎo)入語(yǔ)句
絕對(duì)導(dǎo)入其實(shí)非常簡(jiǎn)單,即是用from語(yǔ)句在import前指明頂層package名,下面我們通過兩個(gè)例子來(lái)詳解Python中的from..import絕對(duì)導(dǎo)入語(yǔ)句2016-06-06
對(duì)python程序內(nèi)存泄漏調(diào)試的記錄
今天小編就為大家分享一篇對(duì)python程序內(nèi)存泄漏調(diào)試的記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2018-06-06
python+matplotlib繪制旋轉(zhuǎn)橢圓實(shí)例代碼
這篇文章主要介紹了python+matplotlib繪制旋轉(zhuǎn)橢圓實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
使用Django啟動(dòng)命令行及執(zhí)行腳本的方法
今天小編就為大家分享一篇使用Django啟動(dòng)命令行及執(zhí)行腳本的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2018-05-05
python中parser.add_argument()用法實(shí)例(命令行選項(xiàng)、參數(shù)和子命令解析器)
最近開始讀論文代碼了,遇到一個(gè)名字叫option的py文件,打開一看清一色的parser.add_argument(),看得是一臉懵逼,這篇文章主要給大家介紹了關(guān)于python中parser.add_argument()用法的相關(guān)資料,需要的朋友可以參考下2022-03-03

