Python中函數(shù)相關(guān)的變量作用域
變量作用域
指聲明變量在程序里的可應(yīng)用范圍。
也就是變量可見(jiàn)性。
在程序中,一般會(huì)根據(jù)變量的“有效范圍”,將變量分為“局部變量”和“全局變量”。
- 全局變量
- 定義:定義在函數(shù)以外的變量擁有全局作用域。
- 特點(diǎn):生命周期是整個(gè)程序的生命周期,也就是說(shuō),它會(huì)一直存活到腳本運(yùn)行結(jié)束。對(duì)于所有程序內(nèi)的函數(shù),它們的值都是可以被訪問(wèn)的。
- 局部變量
- 定義:定義在函數(shù)內(nèi)的變量
- 特點(diǎn):只能在聲明它的函數(shù)內(nèi)訪問(wèn),生命周期是函數(shù)的生命周期,也就是說(shuō),函數(shù)調(diào)用執(zhí)行時(shí)它存活,函數(shù)調(diào)用結(jié)束,它銷毀,不能再使用。
舉個(gè)例子:
def user():
local_str = 'func v'
print(local_str)
local_str = 'global v'
user()
print(local_str)輸出結(jié)果:

上面這個(gè)例子就說(shuō)明了函數(shù)內(nèi)定義的變量,只能在函數(shù)內(nèi)使用,在函數(shù)外部不能使用:在函數(shù)外部 local_str = 'gobal v' 執(zhí)行后調(diào)用函數(shù),函數(shù)內(nèi)部的 local_str = 'func v' 語(yǔ)句并沒(méi)有改變函數(shù)外部local_str變量的值。
- 在函數(shù)內(nèi)部使用
gobal關(guān)鍵字將函數(shù)內(nèi)部變量聲明為全局變量,此時(shí)該變量就和在函數(shù)外部使用的變量一樣具有全局變量的特點(diǎn)了。
def user():
global local_str
local_str = 'func v'
print(local_str)
local_str = 'global v'
user()
print(local_str)輸出結(jié)果:

使用關(guān)鍵字 global 修飾了函數(shù)內(nèi)部的變量后,函數(shù)內(nèi)部變量就變成了全局變量,也就可以改變函數(shù)外部全局變量的值。
python搜索標(biāo)識(shí)符即變量名稱時(shí)順序
- 當(dāng)搜索一個(gè)標(biāo)識(shí)符的時(shí)候,Python先從局部作用域開始搜索,如果在局部作用域沒(méi)有找到這個(gè)變量,就會(huì)去全局作用域找,如果依然找不到,就會(huì)拋出NameError異常。
到此這篇關(guān)于Python中函數(shù)相關(guān)的變量作用域的文章就介紹到這了,更多相關(guān)Python變量作用域內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入理解Pytorch微調(diào)torchvision模型
PyTorch是一個(gè)基于Torch的Python開源機(jī)器學(xué)習(xí)庫(kù),用于自然語(yǔ)言處理等應(yīng)用程序。它主要由Facebookd的人工智能小組開發(fā),不僅能夠 實(shí)現(xiàn)強(qiáng)大的GPU加速,同時(shí)還支持動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò),這一點(diǎn)是現(xiàn)在很多主流框架如TensorFlow都不支持的2021-11-11
python實(shí)現(xiàn)批量提取指定文件夾下同類型文件
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)批量提取指定文件夾下同類型文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04
Django生成PDF文檔顯示網(wǎng)頁(yè)上以及PDF中文顯示亂碼的解決方法
今天小編就為大家分享一篇Django生成PDF文檔顯示網(wǎng)頁(yè)上以及PDF中文顯示亂碼的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
Python解決pip install時(shí)出現(xiàn)的Could not fetch URL問(wèn)題
這篇文章主要介紹了Python解決pip install時(shí)出現(xiàn)的Could not fetch URL問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
用Pytorch實(shí)現(xiàn)線性回歸模型的步驟
線性關(guān)系是一種非常簡(jiǎn)單的變量之間的關(guān)系,因變量和自變量在線性關(guān)系的情況下,可以使用線性回歸算法對(duì)一個(gè)或多個(gè)因變量和自變量間的線性關(guān)系進(jìn)行建模,本文主要介紹了如何利用Pytorch實(shí)現(xiàn)線性模型,需要的朋友可以參考下2024-01-01
xpath無(wú)法定位tbody標(biāo)簽解決方法示例
這篇文章主要介紹了xpath無(wú)法定位tbody標(biāo)簽解決方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09

