示例1:修改全局变量值
在函数中使用global
关键字表示使用(修改)的是全局变量。
num = 100
def func():
global num
num = 200
x = num + 100
print(x) #print 300
func()
print num # print 200
示例2:局部同名变量优先
函数中定义同名的变量时,优先使用该局部变量。
num = 100
def func():
num = 200
x = num + 100
print(x) # print 300
func()
print num # print 100
示例3:使用全局变量值
函数中直接使用全局变量的值。
num = 100
def func():
x = num + 100
print(x) # print 200
func()
print num # print 100
示例4:变量未定义
如下写法会报错,原因为函数中,左边的 num
表示定义的局部变量,待赋值,而该语句右侧的num + 100
又表示要使用num
的值,故会出现如下错误。
num = 100
def func():
num = num + 100 # local variable 'num' referenced before assignment
print(num)
func()
print num