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