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

大家可以動手試試上面4個變量名哪個是正確的,嘗試打開編輯器定義變量輸出,看看有什么提示。
實際上面4個變量名,只有第一個變量名是正確的,后面3個都是錯誤的。如果運行,將會有如下類似的錯誤提示:

2、變量名不能有空格,可以用下劃線;
3、Python內(nèi)置的關(guān)鍵字和函數(shù)不能用,比如說if、for、while、print、input等等;
4、變量名稱對大小寫敏感,比如:myname和myName不是同一個變量;
5、小寫字母l和大寫字母O盡量不要用于變量名,容易看成數(shù)字1和0 。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
在Django下創(chuàng)建項目以及設(shè)置settings.py教程
今天小編就為大家分享一篇在Django下創(chuàng)建項目以及設(shè)置settings.py教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
Python自動化運維之Ansible定義主機與組規(guī)則操作詳解
這篇文章主要介紹了Python自動化運維之Ansible定義主機與組規(guī)則操作,結(jié)合實例形式分析了自動化運維工具Ansible定義主機與組規(guī)則相關(guān)配置操作與注意事項,需要的朋友可以參考下2019-06-06
使用Python去除字符串中某個字符的多種實現(xiàn)方式比較
python中字符串是不可變的,所以無法直接刪除字符串之間的特定字符,下面這篇文章主要給大家介紹了關(guān)于使用Python去除字符串中某個字符的多種實現(xiàn)方式比較的相關(guān)資料,需要的朋友可以參考下2022-06-06
Python機器學(xué)習(xí)應(yīng)用之工業(yè)蒸汽數(shù)據(jù)分析篇詳解
本篇文章介紹了如何用Python進行工業(yè)蒸汽數(shù)據(jù)分析的過程及思路,通讀本篇對大家的學(xué)習(xí)或工作具有一定的價值,需要的朋友可以參考下2022-01-01
Python庫urllib與urllib2主要區(qū)別分析
這篇文章主要介紹了Python庫urllib與urllib2主要區(qū)別,需要的朋友可以參考下2014-07-07
Pandas數(shù)據(jù)分析常用函數(shù)的使用
本文主要介紹了Pandas數(shù)據(jù)分析常用函數(shù)的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
python selenium循環(huán)登陸網(wǎng)站的實現(xiàn)
這篇文章主要介紹了python selenium循環(huán)登陸網(wǎng)站的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
教你如何使用Python實現(xiàn)二叉樹結(jié)構(gòu)及三種遍歷
什么是二叉樹:每個節(jié)點最多有兩個子樹的樹結(jié)構(gòu),通常子樹被稱作“左子樹”(left subtree)和“右子樹”(right subtree) 二叉樹由兩個對象組成,一個是節(jié)點對象,一個是樹對象,需要的朋友可以參考下2021-06-06

