全局变量有关问题。纠结
全局变量问题。。纠结啊
在config.py里定义了几个全局变量
EXPIRE_TIME = 3
CLEAN_INTERVAL = 30
LAST_CLEAN_TIME = 0
另一个文件import 这个全局变量文件,
print EXPIRE_TIME 和 print CLEAN_INTERVAL都能正确显示
唯独print LAST_CLEAN_TIME 出现 UnboundLocalError: local variable 'LAST_CLEAN_TIME' referenced before assignment 这个错误。。
加上一个global LAST_CLEAN_TIME就没这个问题了,但是。。我想知道为啥这么奇怪呢?
------解决方案--------------------
另外要看看config或变量名有没有冲突
------解决方案--------------------
你在局部作用域里对这个变量进行了赋值,没加global的话会在局部作用域声明此变量,而你在赋值之前访问了这个变量,就会出现这个错误,当你加上global就会访问全局空间的变量,所以没问题了。
在config.py里定义了几个全局变量
EXPIRE_TIME = 3
CLEAN_INTERVAL = 30
LAST_CLEAN_TIME = 0
另一个文件import 这个全局变量文件,
print EXPIRE_TIME 和 print CLEAN_INTERVAL都能正确显示
唯独print LAST_CLEAN_TIME 出现 UnboundLocalError: local variable 'LAST_CLEAN_TIME' referenced before assignment 这个错误。。
加上一个global LAST_CLEAN_TIME就没这个问题了,但是。。我想知道为啥这么奇怪呢?
------解决方案--------------------
另外要看看config或变量名有没有冲突
------解决方案--------------------
你在局部作用域里对这个变量进行了赋值,没加global的话会在局部作用域声明此变量,而你在赋值之前访问了这个变量,就会出现这个错误,当你加上global就会访问全局空间的变量,所以没问题了。