欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

關(guān)于Python作用域自學(xué)總結(jié)

系統(tǒng) 1696 0

作用域:顧名思義,作用的范圍。

如果你是自學(xué)者,而且已經(jīng)進(jìn)軍到函數(shù)這一部分了,那么就應(yīng)當(dāng)了解下Python的作用域。否則你可能會(huì)像我一樣,總是對(duì)一個(gè)變量名同時(shí)存在函數(shù)內(nèi)和函數(shù)外且有不同值搞的暈頭轉(zhuǎn)向。

在這里就總結(jié)一下,在本人的知識(shí)范圍內(nèi)所了解到的作用域是什么樣的,LEGB規(guī)則到底規(guī)定了什么。

全局范圍的產(chǎn)生(global):

我們創(chuàng)建一個(gè)xxx.py文件,就是一個(gè)模塊,這時(shí)一個(gè)作用域就產(chǎn)生了。這個(gè)范圍是整個(gè)模塊,稱作Global ,全局范圍。

例如:創(chuàng)建一個(gè)文件demo.py。

聲明一個(gè)變量,bd="百度"。

變量bd就是個(gè)全局變量。

            
bd="百度"

if True:
  print(bd)
#==============
def function_1():
  print(bd)
function_1()
          

bd在函數(shù)內(nèi)和函數(shù)外都能被使用。

關(guān)于Python作用域自學(xué)總結(jié)_第1張圖片

本地范圍的產(chǎn)生(Local):

當(dāng)函數(shù)被定義后,一個(gè)屬于這個(gè)函數(shù)的小天地就產(chǎn)生了??梢栽趦?nèi)部定義變量,也可以在它的內(nèi)部嵌套函數(shù)。這個(gè)范圍就是局部范圍。在局部范圍的變量只能局部范圍內(nèi)使用。

            
def locals():
  x=100
  print("local_x = ",x+20)
locals()
          

輸出:local_x =? 120

如果在全局范圍內(nèi)打印x就會(huì)報(bào)錯(cuò):

            
def locals():
  x=100
  print("local_x = ",x+20
print(x)
          

提示名字錯(cuò)誤:x沒有被定義(NameError: name 'x' is not defined)

所以局部變量x僅在函數(shù)內(nèi)使用。在其他地方調(diào)用時(shí)錯(cuò)誤的。

關(guān)于Python作用域自學(xué)總結(jié)_第2張圖片

嵌套范圍的產(chǎn)生(Enclosed ):

這個(gè)范圍在函數(shù)嵌套時(shí)產(chǎn)生,介于全局和局部范圍之間。

比如一個(gè)函數(shù)嵌套了另一個(gè)函數(shù),這個(gè)函數(shù)的作用域就是嵌套的范圍,被嵌套的就是本地范圍,如果有更多層的嵌套,那就有多層的嵌套范圍。

            
x=20
def local_out():
  y=30
  def local_in():
    z=40
    print('本地變量z:',z)
  print('嵌套變量y:',y)
  local_in()
print("全局變量x:",x)
local_out()


          

輸出:

全局變量x: 20

嵌套變量y: 30

本地變量z: 40

關(guān)于Python作用域自學(xué)總結(jié)_第3張圖片

python的內(nèi)建函數(shù):(Built-in)內(nèi)建函數(shù)是天生就有的,你在那個(gè)作用域都可以以調(diào)用。用的最多的莫過于print()關(guān)于內(nèi)建函數(shù)你可以在python的documentation內(nèi)找到。python的內(nèi)建函數(shù):(Built-in)內(nèi)建函數(shù)是天生就有的,你在那個(gè)作用域都可以以調(diào)用。用的最多的莫過于print()關(guān)于內(nèi)建函數(shù)你可以在python的documentation內(nèi)找到。

LEGB規(guī)則:

LEGB是Local,Enclosed?,Global,Built-in首字母的縮寫聯(lián)合。

它們的范圍是有小到大是這樣排列的,Local----Enclosed----Global----Built-in,而且上層套下層:

2、python腳本運(yùn)行時(shí)找名稱的順序:

1)從它本身所在的層級(jí)找名;

2)如果沒有就向外層找;

3)不會(huì)向內(nèi)找,也不會(huì)從和它同級(jí)的層內(nèi)找。

關(guān)于Python作用域自學(xué)總結(jié)_第4張圖片

3、如果在某個(gè)層內(nèi)找到,就停止尋找,即使外面有同名的。

            
def max(s):
  m=min(s)
  return m

numList=[1,2,4,5,7,8,9]
maxNun=max(numList)
print('最大值=',maxNun)


          

輸出:最大值= 1

在全局范圍內(nèi),調(diào)用max()函數(shù),因?yàn)橛袀€(gè)自定義函數(shù)和內(nèi)建的函數(shù)max()同名,所以它調(diào)用了,自定義的函數(shù)max(),就停止向外層查找。

關(guān)于Python作用域自學(xué)總結(jié)_第5張圖片

同一作用域內(nèi)兩個(gè)名稱是獨(dú)立的,互不干擾。

比如兩個(gè)同一級(jí)別的函數(shù)內(nèi),可以定義同名的變量,或嵌套同名的函數(shù)。

            
a=3
def add_1():
  a=30
  print('add_1的 a =',a)

def add_2():
  a = 3000
  print('add_2的 a =', a)

add_1()
add_2()
print('全局變量的 a =', a)
          

輸出:

add_1的 a = 30

add_2的 a = 3000

全局變量的 a = 3?

關(guān)于Python作用域自學(xué)總結(jié)_第6張圖片

結(jié)束語以上就是關(guān)于,作用域的一些規(guī)則。個(gè)人認(rèn)為,盡管作用域是獨(dú)立的,但避免寫同名的函數(shù),和變量。可起的名字很多,何必給自己找麻煩。以上就是關(guān)于,作用域的一些規(guī)則。個(gè)人認(rèn)為,盡管作用域是獨(dú)立的,但避免寫同名的函數(shù),和變量。可起的名字很多,何必給自己找麻煩。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦?。?!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 色妇色综合久久夜夜 | 一级毛片一级毛片一级毛片 | 草草影院在线 | 国产成+人+综合+亚洲 欧美 | 三人弄娇妻高潮3p视频 | 黄a在线| 久久国产热视频 | 午夜在线观看视频 | 国产精品尤物在线观看一区 | 天堂网中文字幕 | 国产欧美日韩综合精品一区二区 | 久久电影精品久久99久久 | 精品视频一区二区三区免费 | 亚洲欧美中日韩中文字幕 | 超级97碰碰碰碰久久久久最新 | 四虎1515hh海外永久免费在线 | 精品国内在线视频2019百度 | 毛片免费观看 | 天天操夜夜操夜夜操 | 欧美一区二区三区免费视频 | 欧美激情视频一区二区免费 | 国产女主播喷出白浆视频 | 999国产一区二区三区四区 | 精品女同一区二区三区免费播放 | 久久久久久综合一区中文字幕 | 羞羞电影在线观看 | 两性午夜视频 | 欧美欲妇激情视频在线 | 日韩精品一区二区在线观看 | 成人毛片在线观看 | 亚洲视频在线看 | 国产精品久久久久一区二区 | 黄色一级视频网站 | 国产精品免费大片一区二区 | 国产一区二区三区在线看片 | 三级国产 | av中文字幕在线观看 | 欧美性生活久久 | 免费在线观看成人 | 九色com| 五月婷六月丁香狠狠躁狠狠爱 |