最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python命名空間及作用域原理實(shí)例解析

 更新時(shí)間:2020年08月12日 08:31:11   投稿:yaominghui  
這篇文章主要介紹了Python命名空間及作用域原理實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

Python命名空間和作用域

總結(jié)

emmm,這一塊講了2個(gè)內(nèi)容,一個(gè)是命名空間,一個(gè)是作用域。一個(gè)一個(gè)說吧

命名空間

A namespace is a mapping from names to objects.Most namespaces are currently implemented as Python dictionaries

上邊這段是官方文檔定義的,簡(jiǎn)單來說就是名字到對(duì)象的映射,我們知道,python的一切都是對(duì)象,你所定義的變量名其實(shí)只是個(gè)引用。這樣就好理解了。python的命名空間由python數(shù)據(jù)結(jié)構(gòu)字典實(shí)現(xiàn)。
python的命名空間細(xì)分的話有三種。如圖所示。

這一部分沒什么好說的,重要的是理解其概念

作用域

A scope is a textual region of a Python program where a namespace is directly accessible. "Directly accessible" here means that an unqualified reference to a name attempts to find the name in the namespace.

由官方文檔可以看出,作用域就是可以直接訪問的區(qū)域。就是全局到局部。這里舉個(gè)代碼例子就行了。

#demo.py
global_var='haha'  #定義全局變量

def tool():
  local_var='local'  #局部變量
  print(local_var)  #訪問局部變量,可以訪問
print(global_var)  #訪問全局變量,可以訪問
print(local_var)  #訪問局部變量,找不到,無法訪問

這一部分的驚喜知識(shí)是跟作用域有關(guān)的。學(xué)到了2個(gè)關(guān)鍵字global和nonlocal

global_var='haha'  #定義全局變量
def tool():
  global_var='22'
  print(global_var)
print(global_var)  #訪問全局變量,可以訪問
tool()

這段代碼輸出了2個(gè)global_var。輸出結(jié)果是不一樣的。tool函數(shù)里在局部修改了global_var的值,并不影響全局。此時(shí)如果你想影響全局,你就需要用到關(guān)鍵字global.

global_var='haha'  #定義全局變量

def tool():
  global global_var
  global_var='22'
  print(global_var)

tool()
print(global_var) 

這樣就好了。

nonlocal作用類似,用來修改嵌套作用域的。

def tool():
  var=1
  def inner():
    nonlocal var
    var=2
    print(var)
  inner()
  print(var)
tool()

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python中map的基本用法示例

    python中map的基本用法示例

    map函數(shù)的原型是map(function, iterable, …),它的返回結(jié)果是一個(gè)列表。下面這篇文章主要給大家介紹了關(guān)于python中map的基本用法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-09-09
  • Python 的可變和不可變對(duì)象詳情

    Python 的可變和不可變對(duì)象詳情

    本文通過詳情描述Python 中的可變對(duì)象與不可變對(duì)象來看兩者的區(qū)別,剛興趣的朋友可以參考下文
    2021-08-08
  • python3實(shí)現(xiàn)SMTP發(fā)送郵件詳細(xì)教程

    python3實(shí)現(xiàn)SMTP發(fā)送郵件詳細(xì)教程

    這篇文章主要為大家詳細(xì)介紹了python3實(shí)現(xiàn)SMTP發(fā)送郵件的詳細(xì)教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Pandas:Series和DataFrame刪除指定軸上數(shù)據(jù)的方法

    Pandas:Series和DataFrame刪除指定軸上數(shù)據(jù)的方法

    今天小編就為大家分享一篇Pandas:Series和DataFrame刪除指定軸上數(shù)據(jù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Windows系統(tǒng)中將Python添加到系統(tǒng)環(huán)境詳細(xì)圖文教程

    Windows系統(tǒng)中將Python添加到系統(tǒng)環(huán)境詳細(xì)圖文教程

    當(dāng)在命令行使用python或pip指令時(shí),可能會(huì)遇到pip不是內(nèi)部命令的報(bào)錯(cuò),這通常是因?yàn)樵诎惭bPython時(shí)未將其添加至系統(tǒng)環(huán)境變量,或者有多個(gè)Python環(huán)境導(dǎo)致路徑不一致,文中將解決辦法介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • python實(shí)現(xiàn)小球彈跳效果

    python實(shí)現(xiàn)小球彈跳效果

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)小球彈跳效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • Python中的可視化設(shè)計(jì)與UI界面實(shí)現(xiàn)

    Python中的可視化設(shè)計(jì)與UI界面實(shí)現(xiàn)

    本文介紹了如何使用Python創(chuàng)建用戶界面(UI),包括使用Tkinter、PyQt、Kivy等庫(kù)進(jìn)行基本窗口、動(dòng)態(tài)圖表和動(dòng)畫效果的實(shí)現(xiàn),通過示例代碼,展示了如何利用這些庫(kù)來構(gòu)建功能強(qiáng)大且美觀的界面
    2025-01-01
  • Python OpenCV之常用濾波器使用詳解

    Python OpenCV之常用濾波器使用詳解

    OpenCV中常用的幾種濾波器有:均值濾波器、中值濾波器、高斯濾波器、雙邊濾波器,本文將通過示例詳細(xì)講解這幾種濾波器的使用,需要的可以參考一下
    2022-04-04
  • Python基礎(chǔ)教程之pytest參數(shù)化詳解

    Python基礎(chǔ)教程之pytest參數(shù)化詳解

    參數(shù)化就是把測(cè)試過程中的數(shù)據(jù)提取出來,通過參數(shù)傳遞不同的數(shù)據(jù)來驅(qū)動(dòng)用例運(yùn)行,這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)教程之pytest參數(shù)化的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • 如何使用Python 打印各種三角形

    如何使用Python 打印各種三角形

    這篇文章主要介紹了如何使用Python 打印各種三角形,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-06-06

最新評(píng)論

乐昌市| 蕉岭县| 安陆市| 安宁市| 牙克石市| 台安县| 田阳县| 密山市| 奉新县| 镇平县| 辽阳县| 宝清县| 克山县| 仪征市| 蕲春县| 新蔡县| 济宁市| 赞皇县| 滦平县| 南投县| 久治县| 东城区| 金阳县| 东阿县| 乐业县| 汕尾市| 高邮市| 永康市| 景宁| 香港| 天台县| 襄汾县| 九龙县| 孝义市| 全州县| 孟州市| 建平县| 兴宁市| 潞西市| 乐亭县| 罗山县|