国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Python命名空間及作用域原理實例解析

瀏覽:11日期:2022-07-14 13:24:10

Python命名空間和作用域

總結

emmm,這一塊講了2個內容,一個是命名空間,一個是作用域。一個一個說吧

命名空間

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

上邊這段是官方文檔定義的,簡單來說就是名字到對象的映射,我們知道,python的一切都是對象,你所定義的變量名其實只是個引用。這樣就好理解了。python的命名空間由python數據結構字典實現。python的命名空間細分的話有三種。如圖所示。Python命名空間及作用域原理實例解析

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

作用域

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.

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

#demo.pyglobal_var=’haha’ #定義全局變量def tool(): local_var=’local’ #局部變量 print(local_var) #訪問局部變量,可以訪問print(global_var) #訪問全局變量,可以訪問print(local_var) #訪問局部變量,找不到,無法訪問

這一部分的驚喜知識是跟作用域有關的。學到了2個關鍵字global和nonlocal

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

這段代碼輸出了2個global_var。輸出結果是不一樣的。tool函數里在局部修改了global_var的值,并不影響全局。此時如果你想影響全局,你就需要用到關鍵字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()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 99视频九九精品视频在线观看 | 国产三级日本三级在线播放 | 91欧美精品综合在线观看 | 亚洲免费毛片 | 精品久久久久久综合日本 | 成人精品区 | 精品视频一区二区三三区四区 | 亚洲免费色| 黑人特黄aa毛片 | 欧美日韩精品高清一区二区 | 伊人久热这里只有精品视频99 | 亚洲欧美综合国产精品一区 | 91精品国产高清91久久久久久 | 久久久综合久久 | 国产精品久久九九 | 国产成人一区二区三区精品久久 | 欧美成人私人视频88在线观看 | 普通话对白国产精品一级毛片 | 性盈盈影院在线观看 | 久草欧美视频 | 日本在线观看免费视频网址 | 一级黄免费 | 国产精品三级在线观看 | 亚洲人成综合在线播放 | 中文字幕亚洲精品日韩精品 | 国产九九免费视频网站 | 国产在线精品一区二区中文 | 国产成人精品女人不卡在线 | 成 人 黄 色 激 情视频网站 | 国产精品18久久久久久vr | 一级做a爱过程免费视 | 无码免费一区二区三区免费播放 | 亚洲国产成人综合精品2020 | 在线视频一区二区三区 | 国产一区二区三区美女在线观看 | 亚洲精品中文字幕久久久久久 | 在线免费黄网 | 国产精品国产精品国产三级普 | 亚州黄色网址 | 一级一级特黄女人精品毛片 | 国产成人高清精品免费观看 |