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