日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

Python作用域與名字空間原理詳解

瀏覽:130日期:2022-08-01 16:26:17

Python具有靜態(tài)作用域,變量的作用域由它定義的位置決定,而與調(diào)用的位置無關(guān)。

a = 2 def f(): a = 2

第一行的a的作用域是全局作用域,作用于定義位置后面的所有位置。

第四行的a的作用域是局部作用域,作用于f函數(shù)里。

Python能夠形成局部作用域的只有函數(shù)與類,其他語句不形成局部作用域。

函數(shù)與類的局部作用域

def f(): a = 1class A: b = 2if 1 == 1: c = 3for _ in range(1): d = 4while True: e = 5 breakprint(c, d, e)try: print(a)except Exception as e: print(e)try: print(b)except Exception as e: print(e)

輸出結(jié)果

3 4 5 name ’a’ is not defined name ’b’ is not defined

python動態(tài)運行時,每個作用域都有三個名字空間:由局部變量組成的local名字空間,由全局變量組成的global名字空間,以及python內(nèi)建模塊的builtins名字空間,在查詢一個變量時,搜索順序為local->global->builtins,即局部變量屏蔽全局變量,全局變量屏蔽內(nèi)建變量。

python的global名字空間是動態(tài)的,即每遇到一個賦值語句(def與class也屬于賦值語句),global名字空間都可能發(fā)生變化。

global名字空間的動態(tài)變化

print(dir()) a = 1 print(dir()) b = 2 print(dir())

輸出結(jié)果

1 [’__annotations__’, ’__builtins__’, ’__cached__’, ’__doc__’, ’__file__’, ’__loader__’, ’__name__’, ’__package__’, ’__spec__’]2 [’__annotations__’, ’__builtins__’, ’__cached__’, ’__doc__’, ’__file__’, ’__loader__’, ’__name__’, ’__package__’, ’__spec__’, ’a’]3 [’__annotations__’, ’__builtins__’, ’__cached__’, ’__doc__’, ’__file__’, ’__loader__’, ’__name__’, ’__package__’, ’__spec__’, ’a’, ’b’]

從輸出結(jié)果可以看出,global名字空間是動態(tài)增加的。

這意味著,雖然位于global名字空間的變量叫做全局變量,它的作用范圍也不是全局位置,它只作用于第一次賦值之后的位置。因為只有在變量賦值初始化的時候,它才會被加入到global名字空間中。

函數(shù)和類搜索的global名字空間是調(diào)用位置的global名字空間,與定義位置無關(guān)

def f(): print(a)try: f()except Exception as e: print(e)a = 2f()

輸出結(jié)果

name ’a’ is not defined2

函數(shù)f打印全局變量a,a在第9行定義。在第五行調(diào)用f的時候,a不在global名字空間中,所以會輸出錯誤信息,在第十行再次調(diào)用函數(shù)f時,a已經(jīng)加入了global名字空間,所以能夠打印出a。

python為了提高效率,local名字空間是靜態(tài)實現(xiàn)的,因為對于一個函數(shù)來說,它所包含的局部變量是明確已知的。

函數(shù)的local名字空間是靜態(tài)的

a = 4def f(): try: print(a) except Exception as e: print(e) a = 1f()

輸出結(jié)果

local variable ’a’ referenced before assignment

在打印a的時候,在local名字空間中找到了a,但是這時候a并沒有賦值初始化,所以拋出異常。這也說明了local名字空間與global名字空間不同,它會在一開始就把所有的局部變量加入到名字空間中。

總結(jié):

1. python是靜態(tài)作用域,變量初始化的位置決定了它的作用域,而與變量調(diào)用的位置無關(guān)

2. global名字空間是動態(tài)的,不同位置的global名字空間不同,local名字空間是靜態(tài)的,局部變量在整個局部作用域內(nèi)可見。

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

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
波多野结衣一区| 亚洲免费毛片| 久久香蕉精品香蕉| 日韩超碰人人爽人人做人人添| 日本在线视频一区二区| 欧美日韩a区| aⅴ色国产欧美| 国产精品mm| 午夜亚洲福利| 国产精品亚洲综合色区韩国 | 日韩午夜av| 亚洲精品欧美| 偷拍亚洲精品| 国内在线观看一区二区三区| 久久国产日本精品| 亚洲区第一页| 成人在线视频区| 天堂av在线一区| 欧美激情国产在线| 亚洲男人在线| 欧美日韩国产传媒| 久久影视三级福利片| 亚洲制服欧美另类| 中文字幕成在线观看| 婷婷五月色综合香五月| 亚洲国产欧美日本视频| 97久久超碰| 亚洲福利免费| 麻豆久久一区二区| 亚洲欧美久久| 国产99久久久国产精品成人免费| 国产欧美丝祙| 日本va欧美va瓶| 极品裸体白嫩激情啪啪国产精品| 国产精品久一| 亚洲男人在线| 老司机精品久久| 伊人成人网在线看| 久久国产主播| 韩国精品主播一区二区在线观看| 久久99免费视频| 亚洲精品动态| 国产精品日本| 欧美日韩精品免费观看视频完整| 日韩精品麻豆| 色爱av综合网| 98精品久久久久久久| 91视频一区| 五月激情久久| 日本精品影院| 亚洲国产一区二区三区在线播放| 欧美日韩免费观看视频| 日韩免费一区| 婷婷精品视频| 中文一区在线| 亚洲久草在线| 色综合视频一区二区三区日韩 | 国产精品v亚洲精品v日韩精品| 午夜亚洲福利在线老司机| 99精品网站| 99免费精品| 热久久久久久久| 日韩三级一区| 久久精品欧洲| 伊人久久成人| 色88888久久久久久影院| 中文字幕高清在线播放| 九九在线精品| 久久不射网站| 亚洲播播91| 日韩天堂av| 欧美a级片一区| 中国女人久久久| 亚洲一区日本| 国产精品三级| 日本国产欧美| 国产精品天堂蜜av在线播放| 日韩精品一区二区三区免费视频| 亚洲乱亚洲高清| 狠狠久久伊人中文字幕| 国产亚洲精品v| 欧美黄页在线免费观看| 91精品亚洲| 亚洲资源网站| 日本在线高清| 五月激激激综合网色播| 日本午夜大片a在线观看| 欧美亚洲tv| 亚洲91视频| 国产精品高清一区二区| 日韩啪啪电影网| 欧美日一区二区在线观看| 久久久久国产| 精品99在线| 日韩精品乱码av一区二区| 成人在线网站| 免费在线观看一区| 视频一区视频二区中文| 激情黄产视频在线免费观看| 亚洲精品欧美| 激情欧美一区| 日韩毛片视频| av资源亚洲| 国产亚洲欧美日韩在线观看一区二区 | 蜜臀91精品一区二区三区| 黑人精品一区| 你懂的国产精品永久在线| 五月亚洲婷婷 | 视频一区在线视频| 欧美日韩国产高清电影| 韩国三级一区| 麻豆国产精品视频| 日本不卡视频在线| 日韩中文字幕区一区有砖一区| 日韩高清中文字幕一区二区| 精品美女久久| 精品精品国产三级a∨在线| 国产欧美日韩综合一区在线播放| 日韩激情av在线| 日本欧美在线| 国产精品一区二区av交换 | 丝袜亚洲精品中文字幕一区| 中日韩男男gay无套| 模特精品在线| 亚州欧美在线| 欧美激情 亚洲a∨综合| 久久亚洲国产精品尤物| 国产aⅴ精品一区二区四区| 色婷婷色综合| 欧美亚洲激情| 日本欧洲一区二区| 日韩精品社区| 精品视频自拍| 久久精品免费一区二区三区| 美女网站一区| 国产亚洲午夜| 欧美日本精品| 美女网站视频一区| av成人国产| 国产精品一区二区三区av麻| 国产aⅴ精品一区二区三区久久| 久久一区二区三区电影| 三级一区在线视频先锋| 久久国产精品免费一区二区三区| 精品久久不卡| 亚洲免费影院| 国产在线一区不卡| 免费看的黄色欧美网站| 国产极品一区| 欧美精品自拍| 国产精品白丝一区二区三区| 亚洲欧洲高清| 日韩国产欧美视频| 超碰99在线| 亚洲五月综合| 国产v综合v| 在线看片国产福利你懂的| 亚洲a一区二区三区| 日日夜夜免费精品视频| 日韩欧美不卡| 日本成人精品| 亚洲精品2区| 精品中文字幕一区二区三区四区| 亚洲精品中文字幕乱码| 久久av导航| 亚洲一区二区三区四区五区午夜 | 97久久精品| 欧美一区二区三区高清视频| 日韩av成人高清| 99在线|亚洲一区二区| 美女国产一区二区三区| 中文视频一区| 影音先锋国产精品| 久久天堂av| 日本不卡免费高清视频在线| 欧美精品99| 69堂精品视频在线播放| 免费视频最近日韩| 999国产精品视频| 亚洲天堂一区二区| 国产精品成人一区二区不卡| 国产精品一级| 国产欧美丝祙| 美日韩一区二区三区| 国产亚洲高清一区| 国产精品一区2区3区| 国产欧美一区二区三区国产幕精品 | 久久精品二区三区| 日韩在线短视频| 欧美日韩水蜜桃| 精品一区三区| 99精品综合| 亚洲一区欧美激情| 综合国产精品| 欧美一区二区三区久久| 久久中文精品| 99成人在线视频| 亚洲一区成人| 国产免费播放一区二区| 国产一区二区三区不卡视频网站 |