码Python代码时,想用全局变量,报了错。所以上网查了相关文档,总结出 以下几点 :
代码段_0:
num = 100
def show(value):
print 'id = %s' % id(value)
def func_0():
temp = num
show(temp)
def func_1():
global num
show(num)
show(num)
func_0()
func_1()
Output:
id = 30312368
id = 30312368
id = 30312368
Process finished with exit code 0
代码段_1:
num = 100
def show(value):
print 'id = %s' % id(value)
def func_0():
temp = num
show(temp)
def func_1():
num += 1
show(num)
show(num)
func_0()
func_1()
Output:
Traceback (most recent call last):
id = 28153776
File "/home/user/Desktop/temp.py", line 20, in <module>
id = 28153776
func_1()
File "/home/user/Desktop/temp.py", line 14, in func_1
num += 1
UnboundLocalError: local variable 'num' referenced before assignment
Process finished with exit code 1