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

python做中學(一)全局變量的用法

系統 1850 0

  一段時間沒有使用python來寫代碼,就發現以前學習的很多語法都忘了。看來還是當初這方面的項目做的好不夠多,沒有系統性的運用和學習,導致了很多語法不能順手拈來。在接下來的這個項目中,

一定要把遇到的一些python知識不熟悉的地方還有遺忘的重新梳理一下,對python要達到靈活運用的境界,不能單純是能敲代碼,要達到學,做,教的三者合一。就是在做中學,學中做,做中教,教中學的

境界。

?

全局變量的作用域:

  一般在函數體外定義的變量成為全局變量,在函數內部定義的變量稱為局部變量。全局變量所有作用域都可用,局部變量只能在本函數可用,變量的使用順序是,局部變量 > 全局變量, 也就是說:優先使用局部變量

?

global關鍵字:

  為了解決函數內使用全局變量的問題,python增加了global關鍵字, 利用它的特性, 可以指定變量的作用域。

global關鍵字的作用:聲明變量var是全局的

?

? ? ? 實例一:函數內賦值不能改變全局變量值:

              
                 1
              
              
                global
              
              
                 val

              
              
                 2
              
               val = 10

              
                 3
              
              
                 4
              
              
                def
              
              
                 test1():

              
              
                 5
              
              
                global
              
              
                 val

              
              
                 6
              
                       val = 5

              
                 7
              
              
                print
              
              (
              
                '
              
              
                test1 global val:
              
              
                '
              
              
                ,val)

              
              
                 8
              
              
                 9
              
              
                def
              
              
                 test2():

              
              
                10
              
                       val = 8

              
                11
              
              
                print
              
              (
              
                '
              
              
                test2 global val:
              
              
                '
              
              
                ,val)

              
              
                12
              
              
                class
              
              
                 Test():

              
              
                13
              
              
                def
              
              
                __init__
              
              
                (self):

              
              
                14
              
              
                #
              
              
                global val
              
              
                15
              
                               val = 5

              
                16
              
              
                #
              
              
                zoo()
              
              
                17
              
              
                #
              
              
                xy()
              
              
                18
              
              
                def
              
              
                 connect(self):

              
              
                19
              
              
                print
              
              (
              
                "
              
              
                class in connect global val:
              
              
                "
              
              
                ,val)

              
              
                20
              
              
                if
              
               5 ==
              
                 val:

              
              
                21
              
              
                print
              
              (
              
                "
              
              
                global val is:
              
              
                "
              
              
                ,val)

              
              
                22
              
              
                23
              
              
                if
              
              
                __name__
              
              ==
              
                "
              
              
                __main__
              
              
                "
              
              
                :

              
              
                24
              
                       Test().connect()
            
View Code

?

  運行結果:

class in connect global val: 10

  可以看出,函數內賦值并不能改變全局變量的值,所以需要global關鍵字

?

實例二:全局變量值改變必須要有global關鍵字:

沈德符

              
                global
              
              
                 val
val 
              
              = 10


              
                def
              
              
                 test1():
        
              
              
                global
              
              
                 val
        val 
              
              = 5
        
              
                print
              
              (
              
                '
              
              
                test1 global val:
              
              
                '
              
              
                ,val)


              
              
                def
              
              
                 test2():
        val 
              
              = 8
        
              
                print
              
              (
              
                '
              
              
                test2 global val:
              
              
                '
              
              
                ,val)

              
              
                class
              
              
                 Test():
        
              
              
                def
              
              
                __init__
              
              
                (self):
                
              
              
                #
              
              
                global val
              
              
                val = 5
              
                
                test1()
                test2()
        
              
              
                def
              
              
                 connect(self):
                
              
              
                print
              
              (
              
                "
              
              
                class in connect global val:
              
              
                "
              
              
                ,val)
                
              
              
                if
              
               5 ==
              
                 val:
                        
              
              
                print
              
              (
              
                "
              
              
                global val is:
              
              
                "
              
              
                ,val)


              
              
                if
              
              
                __name__
              
              ==
              
                "
              
              
                __main__
              
              
                "
              
              
                :
        Test().connect()
              
            
View Code

? ?測試結果:

  test1 global val: 5
  test2 global val: 8
  class in connect global val: 5
  global val is: 5

可以看出,全局變量的值改變,必須要有global關鍵字。不然就被當成了局部變量。這點一定要記好。

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 白水县| 上高县| 富川| 马关县| 海城市| 揭东县| 襄樊市| 垦利县| 镶黄旗| 多伦县| 湖南省| 渝北区| 江阴市| 北辰区| 西峡县| 克山县| 桑日县| 新津县| 康平县| 红安县| 涿鹿县| 新野县| 阳新县| 石泉县| 库车县| 盐城市| 德庆县| 尼玛县| 怀来县| 保德县| 德化县| 宁国市| 宿迁市| 靖江市| 江西省| 金塔县| 个旧市| 桃江县| 安图县| 华亭县| 云阳县|