UnboundLocalError: local vaiable 'XX' reference...

示例以下: 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

相關文章
相關標籤/搜索