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 Li
after 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我的名字 land 3我的名字 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í)有所幫助,也希望大家多多支持腳本之家。
- 從局部變量和全局變量開(kāi)始全面解析Python中變量的作用域
- Python全局變量與局部變量區(qū)別及用法分析
- Python3.5局部變量與全局變量作用域?qū)嵗治?/a>
- 解析python的局部變量和全局變量
- 圖解python全局變量與局部變量相關(guān)知識(shí)
- python函數(shù)局部變量、全局變量、遞歸知識(shí)點(diǎn)總結(jié)
- Python中全局變量和局部變量的理解與區(qū)別
- python基礎(chǔ)之局部變量和全局變量
- 深入了解python全局變量,局部變量和命名空間
- Python變量教程之全局變量和局部變量
- python全局變量與局部變量的區(qū)別及使用
相關(guān)文章
Python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫(huà)的示例代碼
本篇文章主要介紹了Python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫(huà)的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08零基礎(chǔ)寫(xiě)python爬蟲(chóng)之HTTP異常處理
我們?cè)谑褂门老x(chóng)來(lái)抓取網(wǎng)頁(yè)內(nèi)容的時(shí)候,HTTP異常是必須要注意的一項(xiàng),所以本文,我們來(lái)詳細(xì)探尋一下HTTP異常處理的相關(guān)內(nèi)容,通過(guò)一些具體的實(shí)例來(lái)分析一下,非常的簡(jiǎn)單,但是卻很實(shí)用。2014-11-11用python實(shí)現(xiàn)一個(gè)文件搜索工具
大家好,本篇文章主要講的是用python實(shí)現(xiàn)一個(gè)搜索工具,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01django 實(shí)現(xiàn)celery動(dòng)態(tài)設(shè)置周期任務(wù)執(zhí)行時(shí)間
今天小編就為大家分享一篇django 實(shí)現(xiàn)celery動(dòng)態(tài)設(shè)置周期任務(wù)執(zhí)行時(shí)間,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11Python使用lxml模塊和Requests模塊抓取HTML頁(yè)面的教程
用Pyhton自帶的urllib或urllib2模塊抓取網(wǎng)頁(yè)或許有些陳詞濫調(diào)了,今天我們就來(lái)玩兒些新鮮的,來(lái)看Python使用lxml模塊和Requests模塊抓取HTML頁(yè)面的教程:2016-05-05python采用django框架實(shí)現(xiàn)支付寶即時(shí)到帳接口
這篇文章主要介紹了python采用django框架實(shí)現(xiàn)支付寶即時(shí)到帳接口的相關(guān)資料,需要的朋友可以參考下2016-05-05pytorch中的自定義反向傳播,求導(dǎo)實(shí)例
今天小編就為大家分享一篇pytorch中的自定義反向傳播,求導(dǎo)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01python Graham求凸包問(wèn)題并畫(huà)圖操作
這篇文章主要介紹了python Graham求凸包問(wèn)題并畫(huà)圖操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06