欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python變量的作用域使用

 更新時(shí)間:2024年06月26日 15:53:17   作者:ζ小菜雞  
這篇文章主要介紹了Python變量的作用域使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

前言

變量的作用域是指程序代碼能夠訪問(wèn)該變量的區(qū)域,如果超出該區(qū)域,在訪問(wèn)時(shí)就會(huì)出現(xiàn)錯(cuò)誤。

在程序中,一般會(huì)根據(jù)變量的“有效范圍”,將變量分為“局部變量”和“全局變量”。

局部變量

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

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

def f_demo():
    message = "唯有被追趕的時(shí)候,你才能真正地奔跑"
    print("局部變量message =", message)  # 輸出局部變量值


f_demo()  # 調(diào)用函數(shù)
print("局部變量message =", message)  # 在函數(shù)體外調(diào)用局部變量

運(yùn)行上面代碼將拋出以下異常(要訪問(wèn)的變量不存在):

全局變量

與局部變量對(duì)應(yīng),全局變量是能夠作用與函數(shù)內(nèi)外的變量。

全局變量主要有以下兩種情況:

(1)如果一個(gè)變量,在函數(shù)外定義,然后再定義一個(gè)函數(shù),在該函數(shù)內(nèi)也可以訪問(wèn)到。在函數(shù)體以外定義的變量是全局變量。

message = "唯有被追趕的時(shí)候,你才能真正地奔跑"

def f_demo():
    print("局部變量message =", message)  # 輸出全局變量值

f_demo()  # 調(diào)用函數(shù)
print("局部變量message =", message)  # 在函數(shù)體外調(diào)用全局變量

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

(2)在函數(shù)體內(nèi)定義,并且使用global關(guān)鍵字修飾后,該變量也可以成為全局變量。在函數(shù)體外也可以訪問(wèn)到該變量,并且在函數(shù)體內(nèi)還可以對(duì)其值進(jìn)行修改。

定義兩個(gè)同名的全局變量和局部變量,并輸出她們的值,代碼如下:

message = "唯有被追趕的時(shí)候,你才能真正地奔跑"  # 全局變量

def f_demo():
    message = "命運(yùn)給予我們的不是失望的酒,而是機(jī)會(huì)之杯"  # 局部變量
    print("局部變量message =", message)  # 輸出局部變量值
    
f_demo()  # 調(diào)用函數(shù)
print("局部變量message =", message)  # 在函數(shù)體外調(diào)用全局變量

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

從上面結(jié)果來(lái)看,在函數(shù)內(nèi)部定義的變量即使與全局變量重名,也不影響全局變量的值。

那么想要在函數(shù)體內(nèi)改變?nèi)肿兞康闹担枰诙x局部變量時(shí),使用global關(guān)鍵字修飾,例如,將上面的代碼修改為以下內(nèi)容:

message = "唯有被追趕的時(shí)候,你才能真正地奔跑"  # 全局變量
print("全局變量message =", message)  # 在函數(shù)體外調(diào)用全局變量

def f_demo():
    global message  # 將message聲明為全局變量
    message = "命運(yùn)給予我們的不是失望的酒,而是機(jī)會(huì)之杯"  # 全局變量值
    print("全局變量message =", message)  # 在函數(shù)體內(nèi)調(diào)用全局變量
f_demo()  # 調(diào)用函數(shù)
print("全局變量message =", message)  # 在函數(shù)體外調(diào)用全局變量

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

  

從上面的結(jié)果可以看出,在函數(shù)體內(nèi)部修改了全局變量的值。

注意:

盡管Python允許全局變量和局部變量重名,但是在實(shí)際開(kāi)發(fā)時(shí),不建議這么做,因?yàn)槿菀鬃尨a混亂,很難分清那些是全局變量,那些是局部變量。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在Python中操作文件之truncate()方法的使用教程

    在Python中操作文件之truncate()方法的使用教程

    這篇文章主要介紹了在Python中操作文件之truncate()方法的使用教程,是Python入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • 利用Python實(shí)現(xiàn)圖書(shū)超期提醒

    利用Python實(shí)現(xiàn)圖書(shū)超期提醒

    很多人喜歡逛圖書(shū)館,時(shí)不時(shí)去借本書(shū),但每本書(shū)可能只可以借兩個(gè)月,一旦超期不還就會(huì)進(jìn)行相應(yīng)的處罰!為什么不寫(xiě)個(gè)腳本來(lái)通知自己圖書(shū)超期呢?說(shuō)了這么多廢話,我們就進(jìn)入主題吧?。?!
    2016-08-08
  • python統(tǒng)計(jì)字符的個(gè)數(shù)代碼實(shí)例

    python統(tǒng)計(jì)字符的個(gè)數(shù)代碼實(shí)例

    在本篇文章里小編給大家整理了關(guān)于python統(tǒng)計(jì)字符的個(gè)數(shù)代碼實(shí)例內(nèi)容,需要的朋友們可以參考下。
    2020-02-02
  • python的set處理二維數(shù)組轉(zhuǎn)一維數(shù)組的方法示例

    python的set處理二維數(shù)組轉(zhuǎn)一維數(shù)組的方法示例

    這篇文章主要介紹了python的set處理二維數(shù)組轉(zhuǎn)一維數(shù)組的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-05-05
  • Python Log文件大小設(shè)置及備份的方法

    Python Log文件大小設(shè)置及備份的方法

    這篇文章主要介紹了Python Log文件大小設(shè)置及備份的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-11-11
  • Python小技巧練習(xí)分享

    Python小技巧練習(xí)分享

    這篇文章主要介紹了Python小技巧練習(xí)分享,文章基于python的相關(guān)內(nèi)容展開(kāi)詳細(xì)的python小技巧內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • 使用Python實(shí)現(xiàn)大文件切片上傳及斷點(diǎn)續(xù)傳的方法

    使用Python實(shí)現(xiàn)大文件切片上傳及斷點(diǎn)續(xù)傳的方法

    本文介紹了使用 Python 實(shí)現(xiàn)大文件切片上傳及斷點(diǎn)續(xù)傳的方法,包括功能模塊劃分(獲取上傳文件接口狀態(tài)、臨時(shí)文件夾狀態(tài)信息、切片上傳、切片合并)、整體架構(gòu)流程、技術(shù)細(xì)節(jié)(相關(guān)接口和功能的代碼實(shí)現(xiàn)),最后進(jìn)行了小結(jié),需要的朋友可以參考下
    2025-01-01
  • 如何利用python實(shí)現(xiàn)Simhash算法

    如何利用python實(shí)現(xiàn)Simhash算法

    這篇文章主要介紹了如何利用python實(shí)現(xiàn)Simhash算法,文章基于python的相關(guān)資料展開(kāi)Simhash算法的詳細(xì)介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-06-06
  • python3爬蟲(chóng)獲取html內(nèi)容及各屬性值的方法

    python3爬蟲(chóng)獲取html內(nèi)容及各屬性值的方法

    今天小編就為大家分享一篇python3爬蟲(chóng)獲取html內(nèi)容及各屬性值的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • python的pip安裝以及使用教程

    python的pip安裝以及使用教程

    這篇文章主要為大家詳細(xì)介紹了python的pip安裝以及使用教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09

最新評(píng)論