久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > Python 命名空間

Python 命名空間

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-08 03:25:36 1699385136

Python使用叫做命名空間的東西來記錄變量的軌跡。命名空間是一個字典(dictionary),它的鍵就是變量名,它的值就是那些變量的值。

Anamespaceisamappingfromnamestoobjects.MostnamespacesarecurrentlyimplementedasPythondictionaries。

在一個Python程序中的任何一個地方,都存在幾個可用的命名空間。

1、每個函數(shù)都有著自已的命名空間,叫做局部命名空間,它記錄了函數(shù)的變量,包括函數(shù)的參數(shù)和局部定義的變量。

2、每個模塊擁有它自已的命名空間,叫做全局命名空間,它記錄了模塊的變量,包括函數(shù)、類、其它導(dǎo)入的模塊、模塊級的變量和常量。

3、還有就是內(nèi)置命名空間,任何模塊均可訪問它,它存放著內(nèi)置的函數(shù)和異常。

命名空間查找順序

當(dāng)一行代碼要使用變量x的值時,Python會到所有可用的名字空間去查找變量,按照如下順序:

1、局部命名空間:特指當(dāng)前函數(shù)或類的方法。如果函數(shù)定義了一個局部變量x,或一個參數(shù)x,Python將使用它,然后停止搜索。

2、全局命名空間:特指當(dāng)前的模塊。如果模塊定義了一個名為x的變量,函數(shù)或類,Python將使用它然后停止搜索。

3、內(nèi)置命名空間:對每個模塊都是全局的。作為最后的嘗試,Python將假設(shè)x是內(nèi)置函數(shù)或變量。

4、如果Python在這些名字空間找不到x,它將放棄查找并引發(fā)一個NameError異常,如,NameError:name'aa'isnotdefined。

嵌套函數(shù)的情況:

1、先在當(dāng)前(嵌套的或lambda)函數(shù)的命名空間中搜索

2、然后是在父函數(shù)的命名空間中搜索

3、接著是模塊命名空間中搜索

4、最后在內(nèi)置命名空間中搜索

示例:

1info="Adress:"

2deffunc_father(country):

3deffunc_son(area):

4city="Shanghai"#此處的city變量,覆蓋了父函數(shù)的city變量

5print(info+country+city+area)

6city="Beijing"

7#調(diào)用內(nèi)部函數(shù)

8func_son("ChaoYang");

9

10func_father("China")

輸出:Adress:ChinaShanghaiChaoYang

以上示例中,info在全局命名空間中,country在父函數(shù)的命名空間中,city、area在自己函數(shù)的命名空間中

以上內(nèi)容為大家介紹了Python命名空間,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT