本文将详细分析python的全局变量与局部变量,学过PHP的人都知道,PHP里面的全局变量是无法在function里面去使用的,只有超全局变量才可以,那么python会怎么处理全局变量与局部变量呢?下面我们来看一下:
其实python里面的全局变量,一般跟c语言里面是一样的
# @param 详解python 局部变量与全局变量
# @author 编程之家 jb51.cc|jb51.cc
language = 'python'
def foo1():
language = 'hello' # 这里是局部变量
print(language ) # 打出hello,并且不会影响全局变量language (全局那个bar仍然是'python')
def foo2():
print(language ) # 打出python # 因为没有声明局部变量所以python会搜索全局的language ,这个bar是全局的
def foo3():
global language # 告诉python下面的bar是全局的
language = 'hello' # 这里是全局变量
print(language) # 打出hello,全局的language 已经改为hello不再是python了
#再打印一下language 看一下
print(language)#打印出hello,因为在foo3里全局变量已经被改变了
# End www.512 pic.com
这也说明使用这种方式可以更改python的全局变量
但是这与PHP里面不同:
$name = 'PHP';
function foo1{
echo $name;
}
foo1 //将会得到一条警告:name变量不存在
// End www.512 pic.com
所以各位同学在做python开发时一定要注意区分