第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

python中在哪些情況下必須使用global來聲明全局變量?

python中在哪些情況下必須使用global來聲明全局變量?

桃花長(zhǎng)相依 2019-04-06 16:57:49
這段代碼不用在函數(shù)中聲明globalx就可以打印出x的值x=20defgetx():printxgetx()那請(qǐng)問在哪些情況下必須要使用global聲明全局變量?以下是一個(gè)多線程的python代碼片段,其中的x,l都是全局變量,但在threadcode()函數(shù)中只聲明了globalx沒有g(shù)loball。完整的代碼是可以成功運(yùn)行,但是把globalx注釋掉后就會(huì)報(bào)錯(cuò)。請(qǐng)問這是為什么,Lock對(duì)象比較特殊嗎?importthreading,time,sysx=50l=threading.Lock()defthreadcode():globalxl.acquire()print'Thread%sinvoked.'%threading.currentThread().getName()try:print'Thread%srunning.'%threading.currentThread().getName()x=x+50print'Thread%ssetxto%d.'%\(threading.currentThread().getName(),x)finally:l.release()...
查看完整描述

2 回答

?
慕容3067478

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊

對(duì)于Python2而言,對(duì)于一個(gè)全局變量,你的函數(shù)里如果只使用到了它的值,而沒有對(duì)其賦值(指a=XXX這種寫法)的話,就不需要聲明global。相反,如果你對(duì)其賦了值的話,那么你就需要聲明global。聲明global的話,就表示你是在向一個(gè)全局變量賦值,而不是在向一個(gè)局部變量賦值。
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-06
  • 2 回答
  • 0 關(guān)注
  • 3196 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)