python中的全局變量與局部變量解讀
python中全局變量與局部變量
標(biāo)簽: python
- 局部變量就是定義在一個(gè)函數(shù)體內(nèi)部的變量
- 全局變量是定義在外面的變量
比如:
a = 1
def f():
b = 2
其中a就是全局變量,而b是局部變量。局部變量只在函數(shù)體內(nèi)部有效,出了函數(shù)體,外面是訪問不到的,而全局變量則對(duì)下面的代碼都有效。
在函數(shù)體內(nèi)部使用全局變量
全局變量可以直接在函數(shù)體內(nèi)容部使用的,你可以直接訪問,但是注意的是,如果對(duì)于不可變類型的數(shù)據(jù),如果在函數(shù)里面進(jìn)行了賦值操作,則對(duì)外面的全局變量不產(chǎn)生影響,因?yàn)橄喈?dāng)于新建了一個(gè)局部變量,只是名字和全局一樣,而對(duì)于可變類型,如果使用賦值語句,同樣對(duì)外部不產(chǎn)生影響,但是使用方法的話就會(huì)對(duì)外部產(chǎn)生影響。
如下面的代碼:
g_b = 3;g_l1 = [1,2];g_l2 = [1,2,3]
def t1():
g_b = 2
g_l1 =[]
g_l2.append(7)
t1(g_b,g_l1,g_l2)
print(g_b,g_l1,g_l2)global關(guān)鍵字
上面說到,如果使用的是賦值語句,在函數(shù)內(nèi)部相當(dāng)于新建了一個(gè)變量,并且重新給了指向,但是有時(shí)候我們想把這個(gè)變量就是外部的那個(gè)全局變量,在賦值操作的時(shí)候,就是對(duì)全局變量給了重新的指向,這個(gè)時(shí)候可以通過global關(guān)鍵字表示我在函數(shù)里面的這個(gè)變量是使用的全局那個(gè)。
使用方法如下:
g_b = 3
def t1():
global g_b
g_b = 2
t1()
print(g_b)這個(gè)時(shí)候你會(huì)發(fā)現(xiàn)全局變量g_b也重新指向了,這是因?yàn)?code>global gb表示指定了函數(shù)中的g_b就是外面的那個(gè)。
python變量命名5大規(guī)則
Python變量名不是隨便亂起,需要遵循以下規(guī)則:
1、只能字母、下劃線開頭,不能數(shù)字開頭。變量用小寫字母開頭是 Python 的慣例,也是編碼的好習(xí)慣,大家要養(yǎng)成好習(xí)慣喲。

大家可以動(dòng)手試試上面4個(gè)變量名哪個(gè)是正確的,嘗試打開編輯器定義變量輸出,看看有什么提示。
實(shí)際上面4個(gè)變量名,只有第一個(gè)變量名是正確的,后面3個(gè)都是錯(cuò)誤的。如果運(yùn)行,將會(huì)有如下類似的錯(cuò)誤提示:

2、變量名不能有空格,可以用下劃線;
3、Python內(nèi)置的關(guān)鍵字和函數(shù)不能用,比如說if、for、while、print、input等等;
4、變量名稱對(duì)大小寫敏感,比如:myname和myName不是同一個(gè)變量;
5、小寫字母l和大寫字母O盡量不要用于變量名,容易看成數(shù)字1和0 。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python如何使用python-docx調(diào)整Word文檔樣式
本文介紹了如何修改文字字體樣式、對(duì)齊樣式、行間距以及段前段后間距,并通過效果展示給出參考,適用于需要進(jìn)行文檔編輯的讀者2024-09-09
Python實(shí)現(xiàn)PS圖像抽象畫風(fēng)效果的方法
這篇文章主要介紹了Python實(shí)現(xiàn)PS圖像抽象畫風(fēng)效果的方法,涉及Python基于skimage模塊進(jìn)行圖像處理的相關(guān)操作技巧,需要的朋友可以參考下2018-01-01
在Python 3中實(shí)現(xiàn)類型檢查器的簡(jiǎn)單方法
這篇文章主要介紹了在Python 3中實(shí)現(xiàn)類型檢查器的簡(jiǎn)單方法,包括對(duì)函數(shù)注解這個(gè)新特性的介紹,需要的朋友可以參考下2015-07-07
python+os根據(jù)文件名自動(dòng)生成文本
這篇文章主要為大家詳細(xì)介紹了python+os根據(jù)文件名自動(dòng)生成文本,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03
Python自動(dòng)提取項(xiàng)目中導(dǎo)入的庫(kù)及其版本信息
在我們有時(shí)需要遷移或部署項(xiàng)目時(shí),需要知道項(xiàng)目所依賴的三方包和版本,本文就來介紹一下Python自動(dòng)提取項(xiàng)目中導(dǎo)入的庫(kù)及其版本信息,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
Django實(shí)現(xiàn)WebSSH操作物理機(jī)或虛擬機(jī)的方法
這篇文章主要介紹了Django實(shí)現(xiàn)WebSSH操作物理機(jī)或虛擬機(jī)的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11

