Python局部變量與全局變量區(qū)別原理解析
1、局部變量
name = 'Yang Li'def change_name(name): print('before change:',name) name = '你好' print('after change', name)change_name(name)print('在外面看看name改了么?',name)
輸出:
before change: Yang Liafter change 你好在外面看看name改了么? Yang Li
2、全局變量
NAME = 'alex' def yangjian(): global NAME # 已經(jīng)聲明,NAME就是全局的的那個(gè)變量 print(’1我的名字’, NAME) NAME = 'land' # 修改 全局的變量 print(’2我的名字’, NAME)def qupengfei(): name = 'yang' print(’3我的名字’, NAME) yangjian() qupengfei()
輸出:
1我的名字 alex 2我的名字 land3我的名字 yang######## 全局變量變量名大寫(xiě)######## 局部變量變量名小寫(xiě)#函數(shù)中 優(yōu)先讀取局部變量,能讀取全局變量,無(wú)法對(duì)全局變量重新賦值;但是對(duì)于可變類型,可以對(duì)內(nèi)部元素進(jìn)行操作;如果函數(shù)中有g(shù)lobal關(guān)鍵字,變量本質(zhì)上就是全局的那個(gè)變量,可讀取可賦值
3、nonlocal
name = '剛娘'def weihou(): name = '陳卓' def weiweihou(): nonlocal name # nonlocal,指定上一級(jí)變量,如果沒(méi)有就繼續(xù)往上直到找到為止 name = '冷靜' print(name) weiweihou() print(name)print(name)weihou()print(name)# 剛娘# 陳卓# 陳卓# 剛娘
全局與局部變量
在子程序中定義的變量稱為局部變量,在程序的一開(kāi)始定義的變量稱為全局變量。全局變量作用域是整個(gè)程序,局部變量作用域是定義該變量的子程序。當(dāng)全局變量與局部變量同名時(shí):在定義局部變量的子程序內(nèi),局部變量起作用;在其它地方全局變量起作用。
函數(shù)返回值
要想獲取函數(shù)的執(zhí)行結(jié)果,就可以用return語(yǔ)句把結(jié)果返回
注意:
函數(shù)在執(zhí)行過(guò)程中只要遇到return語(yǔ)句,就會(huì)停止執(zhí)行并返回結(jié)果,so 也可以理解為 return 語(yǔ)句代表著函數(shù)的結(jié)束如果未在函數(shù)中指定return,那這個(gè)函數(shù)的返回值為None
嵌套函數(shù)
name = 'Alex'def change_name(): name = 'Alex2' def change_name2(): name = 'Alex3' print('第3層打印',name) change_name2() #調(diào)用內(nèi)層函數(shù) print('第2層打印',name)change_name()print('最外層打印',name)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向2. 讀寫(xiě)xml文件的2個(gè)小函數(shù)3. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案4. XML入門的常見(jiàn)問(wèn)題(一)5. IE6/IE7/IE8/IE9中tbody的innerHTML不能賦值的完美解決方案6. asp讀取xml文件和記數(shù)7. 告別AJAX實(shí)現(xiàn)無(wú)刷新提交表單8. asp使用Weekday函數(shù)計(jì)算項(xiàng)目的結(jié)束時(shí)間9. ASP中if語(yǔ)句、select 、while循環(huán)的使用方法10. 不同瀏覽器對(duì)XML的解析是不同的
