局部變量
定義
- 局部變量是在函數(shù)內(nèi)部定義的變量,只能在函數(shù)內(nèi)部使用
- 函數(shù)執(zhí)行結(jié)束后,函數(shù)內(nèi)部的局部變量會被系統(tǒng)回收
- 不同的函數(shù),可以定義相同名稱的局部變量,相互之間沒有任何關(guān)聯(lián)
作用
- 在函數(shù)內(nèi)部使用,臨時 **保存 **函數(shù)內(nèi)部使用所需要的數(shù)據(jù)
示例
def test1():
name="張三"
print("我的名稱叫:%s" %name)
name="李四"
print("我的名稱叫:%s" %name)
#定義同樣的 name變量, 與上一個函數(shù)中的name 沒有任何關(guān)系
def test2():
name="zhangsan"
print("我的名稱叫:%s" %name)
test1()
test2()
輸出結(jié)果
局部變量的生命周期
- 生命周期指的是:變量從** 創(chuàng)建** 到 被 **系統(tǒng)回收 **的過程
- 局部變量在函數(shù)執(zhí)行時才會被創(chuàng)建
- 函數(shù)執(zhí)行完成后,局部變量被系統(tǒng)回收
- 局部變量在生命周期內(nèi),可以用來存儲函數(shù)內(nèi)部臨時使用的數(shù)據(jù)
全局變量
定義
- 全局變量是在 函數(shù)外部定義的變量 ,所有函數(shù)內(nèi)部都可以使用這個變量
- 函數(shù)執(zhí)行時,首選查找 函數(shù)內(nèi)部 是否存在指定名稱的 局部變量 ,如果有,直接使用;如果沒有,查找 函數(shù)外部 是否存在 指定名稱的 全局變量 ,如果有,直接使用;如果沒有 就會報錯
作用
-
**全局變量 **是定義在函數(shù)變量,所有的函數(shù) 內(nèi)部 都可以使用這個變量
-
在函數(shù)內(nèi)部,可以通過全局變量的引用獲取對應的數(shù)據(jù)
-
在函數(shù)內(nèi)部,不允許直接修改** 全局變量** 的引用(即: 使用賦值語句修改全局變量的值 )
-
如果需要修改全局變量,需要使用global 進行聲明
-
為了保證 **所有的函數(shù) **都能使用到全局變量,應該將全局變量 **定義在所有的函數(shù)上方
**
示例
#定義全局變量
name="張三"
def test1():
#使用全局變量
print("我的名稱叫:%s" %name)
def test2():
# 使用局部變量,此時并不會修改全局變量
name="李四"
print("我的名稱叫:%s" %name)
def test3():
#使用全局變量,測試全部變量名稱是否被修改
print("我的名稱叫:%s" %name)
def test4():
#修改全局變量
global name
name="zhangsan"
print("我的名稱叫:%s" %name)
def test5():
#查看全局變量的名稱是否被修改成功
print("我的名稱叫:%s" %name)
test1()
test2()
test3()
test4()
test5()
輸出結(jié)果
全局變量的命名
- 在開發(fā)時,為了避免局部變量和全局變量出現(xiàn)混淆,在定義全局變量時應該增加 g_ 或者 gl_ 的前綴
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4277瀏覽量
62323 -
局部變量
+關(guān)注
關(guān)注
0文章
14瀏覽量
9025 -
系統(tǒng)
+關(guān)注
關(guān)注
1文章
1006瀏覽量
21291
發(fā)布評論請先 登錄
相關(guān)推薦
labview深入探索------全局變量、局部變量與內(nèi)存管理
labview深入探索------全局變量、局部變量與內(nèi)存管理很多教科書上都提示要慎用局部變量和全局變量,主要有以下幾個原因:違背了數(shù)據(jù)流的編程讀取
發(fā)表于 07-13 17:49
LabVIEW結(jié)構(gòu)的使用——全局變量和局部變量
全局變量和局部變量是LabVIEW用來傳遞數(shù)據(jù)的工具。LabVIEW編程是一種數(shù)據(jù)流編程,它是通過連線來傳遞數(shù)據(jù)的。但是如果一個程序太復雜的話,有時連線會很困難甚至無法連接,這時就需要用到局部變量
發(fā)表于 02-09 14:46
LabVIEW編程難點之局部變量與全局變量
最近學習Labview,找了3、4本書看,但是對局部變量和全局變量的說法不是特別清晰,就此跟大家討論下:Labview中局部變量是在一個VI中傳遞數(shù)據(jù),如果說創(chuàng)建了前面板某個數(shù)值輸入控件類型為
發(fā)表于 01-08 20:46
謹慎使用局部變量和全局變量
局部和全局變量是高級的LabVIEW概念。它們不是LabVIEW數(shù)據(jù)流執(zhí)行模型中固有的部分。使用局部變量和全局變量時,程序框圖可能會變得難以閱讀,因此需謹慎使用。錯誤地使用
發(fā)表于 01-30 10:58
靜態(tài)變量、全局變量和局部變量
域。全局變量只需在一個源文件中定義,就可以作用于所有的源文件。當然,其他不包含全局變量定義的源文件需要用extern關(guān)鍵字再次聲明這個全局變量。2>靜態(tài)局部變量具有
發(fā)表于 06-20 09:52
【原創(chuàng)分享】STM32 C語言全局變量和局部變量
作者:張角老師(張飛實戰(zhàn)電子高級工程師)大家好,我們今天來探討一下C語言的全局變量和局部變量。如果我們想徹底搞清楚這兩個概念,我們必須回答幾個問題:第一,C語言為什么要區(qū)分變量的作用域,或者說做出
發(fā)表于 06-17 11:18
全局變量和局部變量的相關(guān)資料推薦
一些注意事項:全局變量和局部變量重名以后,根據(jù)就近原則,打印會顯示局部變量的值,可在變量前加入::代表全部變量;應減少不必要的全部
發(fā)表于 12-15 06:10
編程時可以用局部變量替代全局變量嗎
盡量用局部變量替代全局變量。如果用局部變量能實現(xiàn)功能,最好用局部變量。在函數(shù)僅僅只是要用到某個全局變量,而無需改動時,就將
發(fā)表于 02-28 06:22
static的全局變量與局部變量的使用,看完你就懂了
慮使用 static)。
2.2 靜態(tài)變量與普通變量靜態(tài)全局變量有以下特點:
(1)靜態(tài)變量都在全局數(shù)據(jù)區(qū)分配內(nèi)存,包括后面將要提到的靜態(tài)
發(fā)表于 06-27 08:54
全局變量和局部變量有什么區(qū)別
全局變量是編程術(shù)語中的一種,源自于變量之分。變量分為局部與全局,局部變量又可稱之為內(nèi)部
發(fā)表于 12-11 11:58
?3.2w次閱讀
LABVIEW初級教程之局部變量與全局變量的示例程序合集免費下載
本文檔的主要內(nèi)容詳細介紹的是LABVIEW初級教程之局部變量與全局變量的示例程序合集免費下載
發(fā)表于 01-16 10:23
?34次下載
在C語言中,全局變量濫用的后果是什么
01 啥是全局變量 說起全局變量,就不得不提到全局變量,局部變量,靜態(tài)全局變量,靜態(tài)局部變量,這
發(fā)表于 06-24 17:14
?1634次閱讀
C語言中局部變量和全局變量
全局變量也稱為外部變量,它是在函數(shù)外部定義的變量。它不屬于哪一個函數(shù),它屬于一個源程序文件。其作用域是整個源程序。在函數(shù)中使用全局變量,一般應作全局
評論