午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

Python命名空間和作用域

總結(jié)

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

命名空間

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

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

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

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

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

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 久久久久免费视频 | 日韩特黄一级 | 亚洲欧美日韩在线播放 | 高清久久久 | 亚洲黄色精品 | 国产精品二区一区二区aⅴ污介绍 | 丰满岳乱妇一区二区 | h视频在线免费观看 | 亚洲欧美国产高清va在线播放 | 最新中文字幕久久 | 欧美特大黄 | 91最新在线视频 | 欧美一级片网址 | 香蕉视频最新网址 | 中文天堂在线资源 | 日韩欧美中文字幕一区二区 | 免费毛片视频 | 国产a免费视频 | 91成人在线观看喷潮蘑菇 | 久久久999久久久 | 五月婷婷色 | 高跟鞋肉丝交足91 | 日韩在线一区二区三区 | 国产在线毛片 | 国产亚洲精 | 国产精品久久久久久久久久久久午夜片 | 国产精品欧美一区二区三区 | 欧美国产三级 | 中文字幕乱码一区二区 | 老司机免费精品视频 | 这里只有精品9 | 草草影院国产 | 色av综合| 91精品导航 | 99久久99久久精品国产片果冰 | 日韩欧美三区 | 9l视频自拍九色9l视频成人 | 992tv成人免费观看 | 国产成人黄色av | 激情五月婷婷综合网 | 色婷婷网|