亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python:nonlocal的用法,global與nonlocal的區(qū)別

系統(tǒng) 1596 0

在python中內(nèi)嵌函數(shù)可以引用外層函數(shù)作用域中的變量,并且可以通過某種操作來對其進行修改。
這里我們就可以使用到nonlocal語句來進行聲名。我之前寫過一篇global用法的文章,nonlocal的用法與global的用法很像,本篇博客的后面就會講一下nonlocal和global的區(qū)別。

nonlocal語句的用法

語法:
允許內(nèi)嵌函數(shù)修改定義在語法上位于外層的函數(shù)的作用域中的一個或者多個名稱

用法:
nonlocal[變量名]

注意:
此語句僅適用于python3,在python2中內(nèi)嵌函數(shù)可以使用外層作用域中通過賦值的所有名稱,但不能進行修改;python3則可以使用并且可以進行修改。

語法實現(xiàn):

            
              
                def
              
              
                dome_fun
              
              
                (
              
              
                )
              
              
                :
              
              
    num 
              
                =
              
              
                0
              
              
                def
              
              
                dome_fun_1
              
              
                (
              
              
                )
              
              
                :
              
              
                nonlocal
              
               num
        num 
              
                +=
              
              
                1
              
              
                return
              
               num
    
              
                return
              
               num

            
          

在這段dome里面,變量num既不是全局變量,也不是局部變量,而是外部內(nèi)嵌函數(shù)的變量。

nonlocal與global的區(qū)別

在談到nonlocal與global的區(qū)別之前,我們應該了解python中引用變量的順序是什么樣的。

python變量引用順序:從當前作用域開始尋找變量,如果沒找到就往上一層作用域?qū)ふ遥瑳]找到就再上一層。

具體步驟:當前作用域局部變量->外層作用域變量->再外層作用域變量->…->當前模塊全局變量->pyhton內(nèi)置變量

1、作用對象不同:

nonlocal作用于外部內(nèi)嵌函數(shù)的變量;

global作用于全局變量。

2、global可以改變?nèi)肿兞浚瑫r可以定義新的全局變量;nonlocal只能改變外層函數(shù)變量,不能定義新的外層函數(shù)變量,并且nonlocal也不能改變?nèi)肿兞俊?

3、聲名:

global聲名此變量為全局變量;nonlocal聲名此變量與外層同名變量為相同的變量。

4、使用的范圍不同:

global關(guān)鍵字可以用在任何地方,包括最上層函數(shù)中和嵌套函數(shù)中;

nonlocal關(guān)鍵字只能用于嵌套函數(shù)中,并且外層函數(shù)中必須定義了相應的局部變量,否則會發(fā)生錯誤


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人三级视频在线观看 | 国产精品一区二 | 欧美一区二区日韩一区二区 | 国产精品久久久久三级 | 国产成人在线视频播放 | 一级a俄罗斯毛片免费 | 五月婷激情 | 欧美国产高清 | 一道精品视频一区二区三区图片 | 欧美成人全部费免网站 | 国内精品久久久久影 | 中文精品久久久久国产网站 | 国产一区二区三区日韩欧美 | 97影院理论午夜论不卡 | 女人精69xxxxx免费无毒 | 天天舔天天 | 不卡视频在线 | 国产精品一一在线观看 | 久久中文字幕综合婷婷 | 亚洲福利视频精选在线视频 | 国产精品99久久久久久夜夜嗨 | 中文字幕亚洲综久久2021 | 国产精品www视频免费看 | 免费看欧美一级特黄α大片 | 精品久久久久久中文字幕专区 | 亚洲视频国产视频 | 一级毛片免费看 | 亚洲欧美日本另类 | 国产手机在线视频放线视频 | 久久国产精品-国产精品 | 欧美日韩一卡二卡 | 99久久999久久久综合精品涩 | 波多野结衣精品中文字幕 | 国产深夜视频 | 亚洲人成绝费网站色ww | 亚洲无吗在线视频 | 久草最新网址 | 天天操夜夜操美女 | 日本一片免费观看高清完整 | 337p日本大胆欧美人术艺术6 | 免费在线观看黄色小视频 |