python grobal 的使用方法

寫一個功能,運行報錯,name 'number' is used prior to global declaration ,查資料梳理一下函數

  由於這個函數須要調用屢次,第一次調用的時候,走if語句,後面的走else語句,因此須要一個判斷對象,我這裏設置了一個全局變量,以它爲判斷標準,首次調用函數後,全局變量➕ 1 ,參照代碼以下。實際運行後spa

1 number = 10
2 print('number 外',number)
3 def add():
4     if number == 10:
5         print('number=',number)
    else:
      print('-------')
6 global number 7 number = 12 8 add()

運行結果是:code

    global number
    ^
SyntaxError: name 'number' is used prior to global declaration對象

網上查了一下資料,錯誤緣由以下:blog

  在更改全局變量前調用全局變量了,並且更無語的是,這樣寫代碼,在不運行前,我使用pycharm不會有任何提示,讓你以爲寫得很完美,一運行很傷心。一開始我這裏當成c的全局變量使用習慣了。pycharm

解決方法:io

  函數添加了一個參數,以這個參數爲判斷標準,而後更改全局變量class

相關文章
相關標籤/搜索