本文将详细分析python的全局变量与局部变量,学过php的人都知道,php里面的全局变量是无法在function里面去使用的,只有超全局变量才可以,那么python会怎么处理全局变量与局部变量呢?下面我们来看一下:
其实python里面的全局变量,一般跟c语言里面是一样的
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里全局变量已经被改变了
这也说明使用这种方式可以更改python的全局变量
但是这与php里面不同:
$name = 'php';function foo1{ echo $name; }foo1 //将会得到一条警告:name变量不存在
所以各位同学在做python开发时一定要注意区分