>>defmyfun():>>>coun" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python學(xué)習(xí)筆記——全局變量與局部變量,global和nonlocal

系統(tǒng) 1808 0

1、全局變量與局部變量兩者的區(qū)別
2、global關(guān)鍵字與nonlocal關(guān)鍵字的區(qū)別

一、全局變量與局部變量兩者的本質(zhì)區(qū)別就是在于作用域


  1. 全局變量是作用在整個py文件上的,在任何地方都能訪問和修改。
  2. 局部變量只能在它所在的函數(shù)內(nèi)部才能調(diào)用。在其他函數(shù)中無法使用,
    且定義的函數(shù)內(nèi)部不能直接使用或修改全局變量。
  3. 如果函數(shù)內(nèi)部出現(xiàn)與全局變量名字相同的局部變量,其實二者完全不同,注意區(qū)分。
    通過下面幾個例子來看二者之間的區(qū)別

DEMO1


            
              
                >>
              
              
                >
              
              
                def
              
              
                myfun
              
              
                (
              
              
                )
              
              
                :
              
              
                >>
              
              
                >
              
                   count 
              
                =
              
              
                20
              
              
                >>
              
              
                >
              
                   count1 
              
                =
              
              
                5
              
              
                >>
              
              
                >
              
              
                return
              
              
                10
              
              
                >>
              
              
                >
              
               count 
              
                =
              
              
                5
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              myfun
              
                (
              
              
                )
              
              
                )
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              count
              
                )
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              count1
              
                )
              
            
          

python學(xué)習(xí)筆記——全局變量與局部變量,global和nonlocal關(guān)鍵字_第1張圖片
1、全局變量count = 5,函數(shù)內(nèi)部局部變量count = 10,從外部調(diào)用的只是全局變量。
2、count1是局部變量,只能在函數(shù)內(nèi)部訪問,無法從外部直接訪問。

DEMO2


            
              
                def
              
              
                fun
              
              
                (
              
              
                )
              
              
                :
              
                
    num1
              
                *=
              
              
                2
              
              
                print
              
              
                (
              
              
                "函數(shù)內(nèi)修改后num1="
              
              
                ,
              
              num1
              
                )
              
                
num1
              
                =
              
              
                1
              
              
                print
              
              
                (
              
              
                "初始num1="
              
              
                ,
              
              num1
              
                )
              
                
fun
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              
                "運行完函數(shù)后num1="
              
              
                ,
              
              num1
              
                )
              
            
          

python學(xué)習(xí)筆記——全局變量與局部變量,global和nonlocal關(guān)鍵字_第2張圖片

二、global與nonlocal的區(qū)別


  1. 兩者的功能不同。 global關(guān)鍵字修飾變量后標識該變量是全局變量,對該變量進行修改就是修改全局變量 ,而 nonlocal關(guān)鍵字修飾變量后標識該變量是上一級函數(shù)中的局部變量 ,如果上一級函數(shù)中不存在該局部變量,nonlocal位置會發(fā)生錯誤(最上層的函數(shù)使用nonlocal修飾變量必定會報錯)。
  2. 兩者使用的范圍不同。 global關(guān)鍵字可以用在任何地方 ,包括最上層函數(shù)中和嵌套函數(shù)中,即使之前未定義該變量,global修飾后也可以直接使用,而 nonlocal關(guān)鍵字只能用于嵌套函數(shù)中 ,并且 外層函數(shù)中定義了相應(yīng)的局部變量 ,否則會發(fā)生錯誤(見第一)

原文:https://blog.csdn.net/xcyansun/article/details/79672634

DEMO3

            
              
                def
              
              
                myfun
              
              
                (
              
              
                )
              
              
                :
              
              
                global
              
               count
    
              
                global
              
               count1
    count 
              
                =
              
              
                20
              
              
    count1 
              
                =
              
              
                5
              
              
                return
              
              
                10
              
                  
count 
              
                =
              
              
                5
              
              
                print
              
              
                (
              
              myfun
              
                (
              
              
                )
              
              
                )
              
              
                print
              
              
                (
              
              count
              
                )
              
              
                print
              
              
                (
              
              count1
              
                )
              
            
          

python學(xué)習(xí)筆記——全局變量與局部變量,global和nonlocal關(guān)鍵字_第3張圖片



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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 泗水县| 五指山市| 呼玛县| 土默特右旗| 贵南县| 荣成市| 建瓯市| 邹平县| 平顶山市| 南京市| 闸北区| 台北市| 金堂县| 板桥市| 霍山县| 昭苏县| 内乡县| 抚松县| 蓬安县| 巴彦淖尔市| 永善县| 阿巴嘎旗| 台前县| 贵德县| 临澧县| 桃江县| 铜梁县| 荃湾区| 大邑县| 南川市| 株洲市| 屏南县| 郸城县| 虹口区| 宜昌市| 拜泉县| 南皮县| 噶尔县| 邓州市| 新竹市| 利川市|