本文将详细分析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开发时一定要注意区分