小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

命名空間和作用域--python

 融水公子 2018-09-14
命名空間和作用域
變量是擁有匹配對(duì)象的名字(標(biāo)識(shí)符)。命名空間是一個(gè)包含了變量名稱們(鍵)和它們各自相應(yīng)的對(duì)象們(值)的字典。
一個(gè) Python 表達(dá)式可以訪問局部命名空間和全局命名空間里的變量。如果一個(gè)局部變量和一個(gè)全局變量重名,則局部變量會(huì)覆蓋全局變量。
每個(gè)函數(shù)都有自己的命名空間。類的方法的作用域規(guī)則和通常函數(shù)的一樣。
Python 會(huì)智能地猜測(cè)一個(gè)變量是局部的還是全局的,它假設(shè)任何在函數(shù)內(nèi)賦值的變量都是局部的。
因此,如果要給函數(shù)內(nèi)的全局變量賦值,必須使用 global 語句。
global VarName 的表達(dá)式會(huì)告訴 Python, VarName 是一個(gè)全局變量,這樣 Python 就不會(huì)在局部命名空間里尋找這個(gè)變量了。
例如,我們?cè)谌置臻g里定義一個(gè)變量 Money。我們?cè)僭诤瘮?shù)內(nèi)給變量 Money 賦值,然后 Python 會(huì)假定 Money 是一個(gè)局部變量。然而,我們并沒有在訪問前聲明一個(gè)局部變量 Money,結(jié)果就是會(huì)出現(xiàn)一個(gè) UnboundLocalError 的錯(cuò)誤。取消 global 語句的注釋就能解決這個(gè)問題。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
Money = 2000
def AddMoney():
   # 想改正代碼就取消以下注釋:
   # global Money
   Money = Money + 1
 
print Money
AddMoney()
print Money


分享知識(shí),分享快樂!希望中國(guó)站在編程之巔!

               ----

公眾微信號(hào):rsgz520

360圖書館館號(hào):rsgz002.360doc.com 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多