0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Python-局部變量與全局變量

汽車電子技術(shù) ? 來源:程序猿知秋 ? 作者:程序猿知秋 ? 2023-02-16 15:16 ? 次閱讀

局部變量

定義

  • 局部變量是在函數(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
收藏 人收藏

    評論

    相關(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

    static作用(修飾函數(shù)、局部變量全局變量

    詳細介紹了static作用(修飾函數(shù)、局部變量、全局變量)的用法
    發(fā)表于 11-17 10:30 ?4次下載

    全局變量局部變量有什么區(qū)別

    全局變量是編程術(shù)語中的一種,源自于變量之分。變量分為局部全局,局部變量又可稱之為內(nèi)部
    發(fā)表于 12-11 11:58 ?3.2w次閱讀
    <b class='flag-5'>全局變量</b>和<b class='flag-5'>局部變量</b>有什么區(qū)別

    LABVIEW初級教程之局部變量全局變量的示例程序合集免費下載

    本文檔的主要內(nèi)容詳細介紹的是LABVIEW初級教程之局部變量全局變量的示例程序合集免費下載
    發(fā)表于 01-16 10:23 ?34次下載
    LABVIEW初級教程之<b class='flag-5'>局部變量</b>與<b class='flag-5'>全局變量</b>的示例程序合集免費下載

    在C語言中,全局變量濫用的后果是什么

    01 啥是全局變量 說起全局變量,就不得不提到全局變量局部變量,靜態(tài)全局變量,靜態(tài)局部變量,這
    發(fā)表于 06-24 17:14 ?1634次閱讀

    C語言中局部變量全局變量

    全局變量也稱為外部變量,它是在函數(shù)外部定義的變量。它不屬于哪一個函數(shù),它屬于一個源程序文件。其作用域是整個源程序。在函數(shù)中使用全局變量,一般應作全局
    的頭像 發(fā)表于 10-15 10:48 ?5401次閱讀

    詳解LABVIEW中的局部變量全局變量

    本文檔的主要內(nèi)容詳細介紹的是LABVIEW初級教程之局部變量全局變量的詳細資料說明。
    發(fā)表于 03-29 15:00 ?26次下載