示例以下: python
i = 9 函數
print(id(i)) spa
def test(): test
print(id(i)) 變量
以上的代碼運行是ok的,可是將test函數改成以下: 引用
def test(): co
print(id(i)) background
i = 10將會引起 UnboundLocalError: local vaiable 'i' referenced before assignment 錯誤
在python的函數中和全局同名的變量,若是你修改變量的值就會變成局部變量,在修改以前對該變量的引用天然就會出現沒定義這樣的錯誤了,若是肯定要引用全局變量,而且要對它修改,必須加上global關鍵字。可是反過來講,把全局變量改來改去我的以爲很不靠譜。 ab