日韩欧乱色一区二区三区在线_久久―日本道色综合久久_欧美日本一区二区_网曝91综合精品门事件在线

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > Python命名空間實例解析

Python命名空間實例解析

來源:千鋒教育
發布人:xqq
時間: 2023-11-06 03:00:15 1699210815

Python的命名空間是Python程序猿必須了解的內容,對Python命名空間的學習,將使我們在本質上掌握一些Python中的瑣碎的規則。

接下來我將分四部分揭示Python命名空間的本質:一、命名空間的定義;二、命名空間的查找順序;三、命名空間的生命周期;四、通過locals()和globals()BIF訪問命名空間

重點是第四部分,我們將在此部分觀察命名空間的內容。

一、命名空間

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

Anamespaceisamappingfromnamestoobjects.MostnamespacesarecurrentlyimplementedasPythondictionaries。

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

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

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

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

二、命名空間查找順序

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

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

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

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

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

嵌套函數的情況:

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

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

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

4、最后在內置命名空間中搜索

以上內容為大家介紹了Python命名空間實例解析,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://m.hangjiakeji.com/

tags: python培訓
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 桂平市| 龙口市| 乳山市| 石泉县| 西城区| 毕节市| 靖西县| 新蔡县| 壤塘县| 临朐县| 乌拉特前旗| 宜黄县| 洪雅县| 炉霍县| 呼图壁县| 三河市| 曲水县| 杭锦旗| 星子县| 鲁山县| 鞍山市| 白河县| 三河市| 水富县| 扶绥县| 巧家县| 闽侯县| 衡南县| 中阳县| 胶州市| 杭锦旗| 英吉沙县| 南溪县| 辽中县| 新密市| 临沧市| 石台县| 裕民县| 无棣县| 张北县| 屏东市|