python全局变量被覆盖的问题
2013-07-28 13:06 江湖么名 阅读(1433) 评论(0) 编辑 收藏 举报下面的情况,foo全局变量会被局部变量覆盖掉,这样在其它地方使用的值就是空值。
1 g_foo = '' #全局变量 2 3 def set(): 4 g_foo = 'abc' # 给全局变量赋值 5 6 def use_var() 7 print g_foo # 使用全局变量,这里会打印 None 8 9 set() 10 use_var()
使用全局变量,需要明确的声明(global)
1 g_foo = '' #全局变量 2 3 def set(): 4 global g_foo 5 g_foo = 'abc' # 给全局变量赋值 6 7 def use_var() 8 print g_foo # 使用全局变量,这里会打印 abc 9 10 set() 11 use_var()