虽说简单,但有次写代码时候没注意,一不小心也浪费了我很多时间,现总结如下
python全局变量的使用: case 1:
a = 0
def test():
print "test() a : " , a
b = a+1
print "test() b : " , b
test()
print "a : " , a
结果是:
test() a : 0
test() b : 1
a : 0
case 2:
a = 0
def test():
print "test() a : " , a
a = 1
print "test() change a : " , a
test()
print "a : " , a
结果是:
会报错:UnboundLocalError: local variable 'a' referenced before assignment
结论(case 1,case 2): 当内部变量与外部变量重名,并且要给变量赋值是不可行的。但是引用其值是可以的。 case 3:
a = 0
def test():
a = 1
print "test() a : " , a
test()
print "a : " , a
结果是:
test() a : 1
a : 0
case 4
a = 0
def test():
global a
a = 1
print "test() a : " , a
test()
print "a : " , a
结果是:
test() a : 1
a : 1
结论(case 3, case4) : 当内部变量与外部变量重名,它们的操作是互不影响的。如果要统一变量,要在变量前加上global。
版权声明:自由转载-非商用-非衍生-保持署名
comments powered by Disqus