亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python中變量的作用域的具體使用

 更新時間:2023年03月13日 14:35:02   作者:程序員小十一  
本文主要介紹了Python中變量的作用域的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

變量的作用域是指程序代碼能夠訪問該變量的區(qū)域,如果超出該區(qū)域,再訪問時就會出現(xiàn)錯誤。在程序中,一般會根據(jù)變量的 “有效范圍” 將變量分為 “全局變量” 和 “局部變量”。

一、局部變量

局部變量是指在函數(shù)內(nèi)部定義并使用的變量,它只在函數(shù)內(nèi)部有效。即函數(shù)內(nèi)部的名字只在函數(shù)運行時才會創(chuàng)建,在函數(shù)運行之前或者運行完畢之后,所有的名字就都不存在了。所以,如果在函數(shù)外部使用函數(shù)內(nèi)部定義的變量,就會出現(xiàn)拋出 NameError 異常。

例如,定義一個名稱為 function 的函數(shù),在該函數(shù)內(nèi)部定義一個變量 poem(稱為局部變量),并為其賦值,然后輸出該變量,最后在函數(shù)體外部再次輸出 poem 變量,代碼如下:

def function():
    poem = '面朝大海,春暖花開'
    print('局部變量poem = ', poem)  # 輸出局部變量的值
function()  # 調(diào)用函數(shù)
print('局部變量poem = ', poem)  # 在函數(shù)體外輸出局部變量的值

  運行上面的代碼將顯示如下圖所示的異常。

在這里插入圖片描述

二、全局變量

與局部變量對應(yīng),全局變量為能夠作用于函數(shù)內(nèi)外的變量。全局變量主要有以下兩種情況:

(1) 如果一個變量,在函數(shù)外定義,那么不僅在函數(shù)外可以訪問到,在函數(shù)內(nèi)也可以訪問到。在函數(shù)體以外定義的變量是全局變量。

例如,定義一個全局變量 poem,然后再定義一個函數(shù),在該函數(shù)內(nèi)輸出全局變量 poem 的值,代碼如下:

poem = '花有重開日,人無再少年'  # 全局變量
def function():
    print('函數(shù)體內(nèi):全局變量poem =', poem)  # 在函數(shù)體內(nèi)輸出全局變量的值
function()  # 調(diào)用函數(shù)
print('函數(shù)體外:全局變量poem =', poem)  # 在函數(shù)體外輸出全局變量的值

運行上面的代碼,將顯示以下內(nèi)容:

函數(shù)體內(nèi):全局變量poem = 花有重開日,人無再少年
函數(shù)體外:全局變量poem = 花有重開日,人無再少年

說明當(dāng)局部變量與全局變量重名時,對函數(shù)體的變量進(jìn)行賦值后,不影響函數(shù)體外的變量。也就是各敲各的鑼,各打各的鼓。

例如,在函數(shù)體外定義一個全局變量 a,并賦值為 100,在函數(shù)體內(nèi)定義一個局部變量 a,并賦值為 10,代碼如下所示:

a = 100  # 定義一個全局變量
def function():
    a = 10  # 定義局部變量
    print(a)  # 輸出局部變量的值
function()  # 調(diào)用函數(shù)
print(a)  # 輸出全局變量的值

執(zhí)行結(jié)果如下所示:

10100

(2) 在函數(shù)體內(nèi)定義,并且使用 global 關(guān)鍵字修飾后,該變量也就變?yōu)槿肿兞俊T诤瘮?shù)體外也可以訪問到該變量,并且在函數(shù)體內(nèi)還可以對其進(jìn)行修改。

例如,在函數(shù)體內(nèi)定義一個變量,使用 global 關(guān)鍵字修飾。代碼如下所示:

poem = '天若有情天亦老,人間正道是滄桑'  # 全局變量
print('函數(shù)體外:poem =', poem)  # 在函數(shù)體外輸出全局變量的值
def function():
    global poem  # 將poem聲明為全局變量
    poem = '人生得意須盡歡,莫使金樽空對月'  # 全局變量
    print('函數(shù)體內(nèi):poem =', poem)  # 在函數(shù)體內(nèi)輸出全局變量的值
function()  # 調(diào)用函數(shù)
print('函數(shù)體外:poem =', poem)  # 在函數(shù)體外輸出全局變量的值

運行上面的代碼,將顯示以下內(nèi)容:

函數(shù)體外:poem = 天若有情天亦老,人間正道是滄桑
函數(shù)體內(nèi):poem = 人生得意須盡歡,莫使金樽空對月
函數(shù)體外:poem = 人生得意須盡歡,莫使金樽空對月

從上面的結(jié)果中可以看出,通過 global 關(guān)鍵字修飾的全局變量,是可以在函數(shù)體內(nèi)部修改全局變量的值。

說明盡管Python允許全局變量和局部變量重名,但是在實際開發(fā)時,不建議這么做,因為這樣容易讓代碼混亂,很難分清哪些是全局變量,哪些是局部變量。

到此這篇關(guān)于Python中變量的作用域的具體使用的文章就介紹到這了,更多相關(guān)Python 變量的作用域內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Pycharm在指定目錄下生成文件和刪除文件的實現(xiàn)

    Pycharm在指定目錄下生成文件和刪除文件的實現(xiàn)

    這篇文章主要介紹了Pycharm在指定目錄下生成文件和刪除文件的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python3操作MongoDB增冊改查等方法詳解

    Python3操作MongoDB增冊改查等方法詳解

    這篇文章主要介紹了Python操作MongoDB增冊改查等方法詳解,需要的朋友可以參考下
    2020-02-02
  • python Django實戰(zhàn)之歌曲搜索功能實現(xiàn)

    python Django實戰(zhàn)之歌曲搜索功能實現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了如何利用python Django實現(xiàn)歌曲搜索功能,文中的示例代碼講解詳細(xì),具有一定的參考價值,有需要的小伙伴開業(yè)了解下
    2023-10-10
  • python中的TCP(傳輸控制協(xié)議)用法實例分析

    python中的TCP(傳輸控制協(xié)議)用法實例分析

    這篇文章主要介紹了python中的TCP(傳輸控制協(xié)議)用法,結(jié)合完整實例形式分析了Python基于TCP協(xié)議的服務(wù)器端與客戶端相關(guān)實現(xiàn)技巧及操作注意事項,需要的朋友可以參考下
    2019-11-11
  • Python實現(xiàn)yaml與json文件批量互轉(zhuǎn)

    Python實現(xiàn)yaml與json文件批量互轉(zhuǎn)

    這篇文章主要為大家詳細(xì)介紹了如何利用Python語言實現(xiàn)yaml與json文件的批量互轉(zhuǎn),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動手嘗試一下
    2022-07-07
  • Python爬蟲入門案例之回車桌面壁紙網(wǎng)美女圖片采集

    Python爬蟲入門案例之回車桌面壁紙網(wǎng)美女圖片采集

    讀萬卷書不如行萬里路,學(xué)的扎不扎實要通過實戰(zhàn)才能看出來,今天小編給大家?guī)硪粋€python爬蟲案例,采集回車桌面網(wǎng)站的美女圖片,大家可以在過程中查缺補漏,看看自己掌握程度怎么樣
    2021-10-10
  • 利用PyQt5+Matplotlib 繪制靜態(tài)/動態(tài)圖的實現(xiàn)代碼

    利用PyQt5+Matplotlib 繪制靜態(tài)/動態(tài)圖的實現(xiàn)代碼

    這篇文章主要介紹了利用PyQt5+Matplotlib 繪制靜態(tài)/動態(tài)圖的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python流程控制常用工具詳解

    Python流程控制常用工具詳解

    這篇文章主要介紹了Python流程控制常用工具詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • Python實現(xiàn)像awk一樣分割字符串

    Python實現(xiàn)像awk一樣分割字符串

    這篇文章主要介紹了Python實現(xiàn)像awk一樣分割字符串,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • python中if的基礎(chǔ)用法(if?else和if?not)

    python中if的基礎(chǔ)用法(if?else和if?not)

    if在Python中用作某個條件或值的判斷,下面這篇文章主要給大家介紹了關(guān)于python中if的基礎(chǔ)用法,主要包括if?else和if?not,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09

最新評論