总体来说跟C++差不多
有一点不一样的是,当一个全局变量在某一函数中出现了赋值之后,函数中使用的是相同名字的局部变量,而全局变量不受影响
如
a = 100
def f():
a += 100
print(a)
f()
这里,函数内部的变量名如果第一次出现,且出现在=前面,即被视为定义一个局部变量。而函数中的a是一个局部变量,显然就不能直接+=100的
a = 100
def f():
a = 123
print a
f()
print a
输出结果是123 100
所以,如果要在函数中给全局变量赋值,需要用global关键字声明
而如果不赋值,只是使用的话,是没问题的