看作用域来确定变量范围。
python有全变量,一般跟c里面是一样的
bar = 'python'
def foo1():
bar = 'hello' # 这里是局部变量
print(bar) # 打出hello,并且不会影响全局变量bar(全局那个bar仍然是'python')
def foo2():
print(bar) # 打出python # 因为没有声明局部变量所以python会搜索全局的bar,这个bar是全局的
def foo3():
global bar # 告诉python下面的bar是全局的
bar = 'hello' # 这里是全局变量
print(bar) # 打出hello,全局的bar已经改为hello不再是python了
python对局部变量支持的不好,有时你需要打包一个类来实现局部私有变量的,
但全局变量当然有,和c一样
global 变量名