python局部賦值的規(guī)則
myVar = 1
def myfunc():
myVar += 1
myfunc()
會(huì)提示錯(cuò)誤:
UnboundlocalError: local variable 'myVar' referenced before assignment
Python提出如下假設(shè):如果在函數(shù)體內(nèi)的任何地方對(duì)變量賦值,則Python將名稱(chēng)添加到局部命名空間中。
語(yǔ)句myVar += 1對(duì)名稱(chēng)myVar賦值,則myVar是函數(shù)myfunc的局部命名空間的一部分,而它當(dāng)前沒(méi)有關(guān)聯(lián)值,所以會(huì)產(chǎn)生錯(cuò)誤。
解決方法:使用global語(yǔ)句
myVar = 1
def myfunc():
global myVar
myVar += 1
myfunc()
附作用域搜索規(guī)則:
L:本地的(Local)
E:封閉的(Eclosing)
G:全局的(Global)
B:內(nèi)置的(Built-in)
相關(guān)文章
Python基于Socket實(shí)現(xiàn)簡(jiǎn)單聊天室
這篇文章主要為大家詳細(xì)介紹了Python基于Socket實(shí)現(xiàn)簡(jiǎn)單聊天室,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02
python生成不重復(fù)隨機(jī)數(shù)和對(duì)list亂序的解決方法
下面小編就為大家分享一篇python生成不重復(fù)隨機(jī)數(shù)和對(duì)list亂序的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
python re的findall和finditer的區(qū)別詳解
這篇文章主要介紹了python re的findall和finditer的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
python計(jì)算程序開(kāi)始到程序結(jié)束的運(yùn)行時(shí)間和程序運(yùn)行的CPU時(shí)間
這篇文章主要介紹了python計(jì)算程序開(kāi)始到程序結(jié)束的運(yùn)行時(shí)間和程序運(yùn)行的CPU時(shí)間的三個(gè)方法,大家參考使用2013-11-11
Python實(shí)現(xiàn)獲取網(wǎng)站或網(wǎng)頁(yè)的快照的示例代碼
本文主要介紹了Python實(shí)現(xiàn)獲取網(wǎng)站或網(wǎng)頁(yè)的快照的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02
Python利用re模塊實(shí)現(xiàn)簡(jiǎn)易分詞(tokenization)
分詞(tokenization)任務(wù)是Python字符串處理中最為常見(jiàn)任務(wù)了。本文將利用re模塊實(shí)現(xiàn)簡(jiǎn)易tokenizer,文中的示例代碼講解詳細(xì),需要的可以參考一下2022-04-04

